String 我声明字符串s1=null,s2=";“你好”;通过使用s1.equals(s2),它显示空指针异常为什么?

String 我声明字符串s1=null,s2=";“你好”;通过使用s1.equals(s2),它显示空指针异常为什么?,string,exception,String,Exception,equals函数如何知道s1对字符串的引用为null 您得到的是一个空指针,因为您说的是null。某物…这是一个空指针异常..您不能在null上调用方法这是一个运行时异常。正如您所知,equals是一个实例方法,所以当在运行时实际调用它时,它应该具有字符串的对象。因此,当存在null而不是实对象时,它会抛出null指针异常。无法执行equals()方法 当您调用s1.equals(s2)时,它将尝试执行s1对象的equals()方法,但由于s1为null,因此您会得到一个nullPointerE

equals函数如何知道s1对字符串的引用为null

您得到的是一个空指针,因为您说的是null。某物…这是一个空指针异常..您不能在null上调用方法

这是一个运行时异常。正如您所知,equals是一个实例方法,所以当在运行时实际调用它时,它应该具有字符串的对象。因此,当存在null而不是实对象时,它会抛出null指针异常。

无法执行
equals()
方法

当您调用
s1.equals(s2)
时,它将尝试执行s1对象的equals()方法,但由于s1为null,因此您会得到一个nullPointerException

有关更多详细信息,请查看

Object提供的equals()方法测试对象引用是否相等,也就是说,如果比较的对象是完全相同的对象