if (cached != null)
return cached.doubleValue();
当我使用这些是java时,第一行是说“运算符!=未定义参数类型(s)double,null”。第二行是说“无法在原始类型double上调用doubleValue()
”。我该如何解决这两个问题?
答案 0 :(得分:0)
由于cached
是原始double
,因此将其更改为Double
。如果您想继续使用原语,则无需检查null
,默认情况下,它们会初始化为0.0
答案 1 :(得分:0)
将cached
的类型从double
(原始)更改为Double
(类):
Double cached=null;
//do something with cached
if (cached != null) {
return cached; //implicit unboxing, call to doubleValue() isn't needed
}
由于double
是基本类型,因此它永远不会假定值为null,而且它没有定义方法.doubleValue()
。