hashset数据类型

时间:2011-11-01 09:15:56

标签: java

如何使用double as datatype声明耳机?

public HashSet priceSet() {
    Set<double> hSet = new HashSet<double>();  //<==== netbeans warn this line
    for (Map.Entry<String, Tablet> entry : tableMap.entrySet()) {     
        hSet.add(entry.getValue());
    }        

    return (HashSet) hSet;
}

这条线的问题是什么? 设置hSet = new HashSet();

3 个答案:

答案 0 :(得分:2)

使用包装器类Double代替double。这不会影响实际代码,但这是创建通用数据集的常用方法。

答案 1 :(得分:1)

它应该是Double而不是doubledouble是原始类型,Doubledouble的包装类

答案 2 :(得分:1)

Set用于存储对象,而不是基元。所以你应该使用包装器将它与原语一起使用 - 比如

Set<Double> hSet = new HashSet<Double>();

修改 如果你有一些double变量,你可以像

一样添加它
double test = 0.0;
hSet.add((Double)test);

然而entry.getValue()Tablet,因此您似乎需要使用类似

的内容
hSet.add((Double)entry.getValue().getValue());

edit2 实际上(Double)不是必需的