"1".equals和a.equals("1")的区别
时间: 2023-10-16 14:03:52 浏览: 67
"1".equals 和 a.equals("1") 的区别在对象的调用方。
"1".equals 是将字符串字面值 "1" 作为调用方,调用 String 类的 equals 方法。这种写法是比较安全的,即使 "1" 为 null,也不会抛出空指针异常。
而 a.equals("1") 是将变量 a 作为调用方,调用它所引用对象的 equals 方法。这种写法要注意,如果变量 a 为 null,会抛出空指针异常。因此,在使用变量的 equals 方法之前,需要确保变量不为 null 或进行 null 判断。
相关问题
Java中"a".equals(a)和(a).equals("a")
在Java中,".equals"是用来比较两个对象是否相等的方法,而"=="是用来比较两个对象在内存中的地址是否相同的操作符。因此,对于字符串"a"和对象a来说,它们是两个不同的对象,它们在内存中的地址不同,因此,使用"=="进行比较会得到false。而使用".equals"来比较它们的内容是否相等,则会得到true。
所以,"a".equals(a)会比较字符串"a"和对象a的内容是否相等,而(a).equals("a")会比较对象a和字符串"a"的内容是否相等。如果a是一个字符串对象,那么这两个表达式的结果是一样的。但如果a是其他类型的对象,那么这两个表达式的结果可能不同。
objects.equals(a, b)
objects.equals(a, b)是一个Java中的方法,用于比较两个对象是否相等。如果a和b都为null,则返回true;如果a和b都不为null,则调用a的equals方法来比较它们是否相等;如果a和b中有一个为null,则返回false。