如何使用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();
答案 0 :(得分:2)
使用包装器类Double
代替double
。这不会影响实际代码,但这是创建通用数据集的常用方法。
答案 1 :(得分:1)
它应该是Double
而不是double
,double
是原始类型,Double
是double
的包装类
答案 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)
不是必需的