== null和.equals("null")之间有什么区别吗?

Sit*_*nsu 2 java string equals

我对以下代码感到困惑.为什么它与两者==equals方法相比?

(validFolderRow.getBondTAFolderType() == null || validFolderRow.getBondTAFolderType().equals("null"))
Run Code Online (Sandbox Code Playgroud)

equals()和==之间有什么区别?

谁能告诉我有什么区别

validFolderRow.getBondTAFolderType() == null
Run Code Online (Sandbox Code Playgroud)

validFolderRow.getBondTAFolderType().equals("null")
Run Code Online (Sandbox Code Playgroud)

Era*_*ran 9

validFolderRow.getBondTAFolderType() == null比较null(即检查是否validFolderRow.getBondTAFolderType()为空).validFolderRow.getBondTAFolderType().equals("null")比较validFolderRow.getBondTAFolderType()值为的String "null".

请注意,必须首先进行第一次比较,因为如果validFolderRow.getBondTAFolderType()为null,则无法调用equals它(因为它将抛出一个NullPointerException).由于||是短路运算符,因此将第一个操作数计算为true将阻止对第二个操作数进行求值.