如何使用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
是原始类型,Double
是double
的包装类