首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TreeMap<?,?>无法转换为TreeMap<String,Double>?

TreeMap<?,?>无法转换为TreeMap<String,Double>?
EN

Stack Overflow用户
提问于 2021-04-26 20:25:40
回答 1查看 102关注 0票数 0

我在java中练习TreeMap,我陷入了一个不得不使用TreeMap构造函数的境地,我找不到任何方法来处理它,我正在写程序的一部分,有人能帮我解决这个问题吗?此函数应返回什么,以及如何处理

错误:?的java.util.TreeMap的capture#2无法转换为java.util.TreeMap

代码语言:javascript
复制
   public TreeMap<?,?> createMatchesMap(String cricketDataset)
    {
           
        TreeMap<String,Double> tm = new TreeMap<String,Double>();
               String[] str = cricketDataset.split("\\|");
               for(int i=0;i<str.length;i++) {
                   String[] str1 = str[i].split(",");
                   Double c = 0.0;
                   int c1=0;
                   if(str1[0].equals("1")) {
                       
                   for(int j=0;j<str.length;j++) {
                       String[] str2 = str[j].split(",");
                       if(str2[1].equals(str1[1]) && str2[0].equals("1")) {
                           Double score = Double.parseDouble(str2[2]);
                           c=c+score;
                           c1+=1;
                       }
                   }
                   tm.put(str1[1],c/c1);
                   }
               }
            return tm;
   }
EN

回答 1

Stack Overflow用户

发布于 2021-04-26 20:38:04

这与协方差和逆方差有关(参见https://en.wikipedia.org/wiki/Covariance_and_contravariance_(computer_science)。简而言之,如果你能做到这一点:

代码语言:javascript
复制
List<String> ls = new ArrayList<>();
List<Object> lo = ls;

然后,您可以在下一步中执行此操作

代码语言:javascript
复制
lo.add(new Double(1.3));

这将在我们的字符串列表中添加一个双精度值(因为lo引用了与ls相同的对象)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67266602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档