java的instanceof有问题。这是给我带来麻烦的代码差距:
LinkedList<Double> currentSummary = summary.getFirst().getQuantiles();
...更多代码...
while (!currentSummary.isEmpty()){
if (currentSummary.getFirst() instanceof Double){
orderedSummary.add(new ComparableWrapper<Double, Float>(currentSummary.removeFirst(), currentEpsilon));
}
}
所以,我的问题是,如果条件不会变为真。中的那些元素currentSummary
要么是要么null
是-Double
值。我试图拒绝null
. 起初我只是添加了它们,NullPointerException
后来又遇到了,因为一些(但不是全部!)元素是null
. 的示例元素currentSummary
是例如 [null, 0.09861866469135272, 10.137051035535745, 107.12083740100329, 371.4371264801424, 827.432799544501, 1206.251577083686]。
有人知道为什么instanceof
在这种情况下不起作用?我也试过currentSummary.getFirst() instanceof Object
...
提前致谢!