【发布时间】:2015-04-30 02:52:13
【问题描述】:
我正在尝试将一些带有整数的 Double 值保存为 HashMap 的索引。 我的问题是我在 Map 中有一些 NaN 值,这很奇怪,因为正如您在下面的代码中看到的那样,如果它是 NaN,我会打印出一个错误。 println 函数永远不会被调用,即使我的 Map 中有一些 NaN 值。 函数 compareDocs 以 Double 形式返回。
HashMap<Integer, Double> distVec = new HashMap<Integer, Double>();
int i = 0;
for (IGSDocument doc : train) {
Double dist = compareDocs(test, doc);
if(dist == Double.NaN){
System.err.println("Not a Number");
}
distVec.put(i, dist);
i++;
}
System.out.println(distVec);
有人知道是我的错吗?
【问题讨论】:
-
NaN 不等于 NaN