Pie*_*ter 15 java null dictionary
我正在尝试使用字典.每当我想检查字典中是否存在元素时,我这样做:
int value = results.get("aKeyThatMayOrMayNotBePresent");
if (value != null)
// ...
Run Code Online (Sandbox Code Playgroud)
但后来编译器说我无法将a int
与a 进行比较<nulltype>
.null
在这种情况下检查的正确方法是什么?
dar*_*ioo 24
您将原始值(int)与null进行比较.由于基元不能为空,因此应使用相应的对象,例如本例中的Integer.所以,你应该写
Integer value = results.get("aKeyThatMayOrMayNotBePresent");
Run Code Online (Sandbox Code Playgroud)
jos*_*efx 18
你的空检查为时已晚.
int value = results.get("aKeyThatMayOrMayNotBePresent");
Run Code Online (Sandbox Code Playgroud)
该行已将引用转换为基元int
.如果get的返回值为null,它将抛出NullPointerException.
正确的方法是使用Integer
而不是int
.
Integer value = results.get("aKeyThatMayOrMayNotBePresent");
Run Code Online (Sandbox Code Playgroud)
这种方式的值不是原始类型,并且您的空检查有效.
归档时间: |
|
查看次数: |
40732 次 |
最近记录: |