hashset数据类型



如何使用double作为数据类型声明耳机?

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;
}

这行有什么问题?

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

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)是不必要的

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

最新更新