equals和==之间的差异与null比较?

Sit*_*nsu -1 java equals record object operators

我有两个场景如下.

情况1:

if( folderProcessChecklistBean.getFolderProcessChecklistRecord()
                   .getChecklistCode() != null)
Run Code Online (Sandbox Code Playgroud)

案例2:

if(!folderProcessChecklistBean.getFolderProcessChecklistRecord()
                   .getChecklistCode().equals(null))
Run Code Online (Sandbox Code Playgroud)

谁能告诉我两种方法是否相同?

jbx*_*jbx 6

您永远不能.equals()在对象引用上调用该方法null.这是一个方法,就像其他方法一样,所以如果对象引用是真的,null它只会抛出一个NullPointerException.

如果要检查引用是否未指向任何对象,即它是null引用,则必须使用==.

equals()另一方面,如果要比较对象中包含的数据,则使用该方法.如果有问题的类覆盖了equals(),例如String,那么它将比较对象的内容,而不仅仅是它是否是相同的对象引用.

如果你看到像盒子这样的物体.==在比较是否是同一,同时equals()比较两个内容.