这是我的代码:
if (ChoixPortCom.equals(null) == true ) JOptionPane.showMessageDialog(null, "Choose Port COM");
我得到了著名的 java.lang.NullPointerException
我的 JCombobox 填充如下:
1st -> nothin/empty null no String nothing
第二 -> COM1
第三 -> COM2
....
为什么“如果”条件不正确?
choixPortCom.equals(null)
永远不会为真。如果 choixPortCom
不是 null
,则表达式将按预期返回 false。如果 choixPortCom
是 null
,那么表达式将抛出一个 NullPointerException
,因为您正试图调用一个方法空
;这就是你的情况。检查 null
的适当方法是:
if (choixPortCom == null) // I've assumed a more common naming convention
Java 7 中还有一个 Objects
类,它具有一些用于 null
检查的有用方法。例如,Objects.requireNonNull()
:
Objects.requireNonNull(choixPortCom, "input can't be null!")