Java中用不了equles让用objects.equles()
时间: 2024-02-09 22:09:22 浏览: 82
是的,Java中有时候不能直接用"=="或"equals()"方法比较两个对象是否相等,这是因为"=="比较的是两个对象的引用地址,而不是对象的内容,而"equals()"方法默认情况下和"=="一样,也是比较引用地址。为了比较对象内容是否相等,需要重写"equals()"方法。如果需要比较两个对象的内容,可以使用Objects.equals()方法,该方法会自动判断两个对象是否为null,如果都为null则返回true,否则返回equals()的比较结果。例如:
```
Object obj1 = new Object();
Object obj2 = new Object();
boolean isEqual = Objects.equals(obj1, obj2);
```
这里使用了Objects.equals()方法比较了两个对象obj1和obj2是否相等。
相关问题
Objects.equal
`Objects.equals()`是Java中用于比较两个对象是否相等的方法,它可以处理两个对象都为null的情况,避免了使用`==`比较时可能出现的空指针异常。该方法的语法如下:
```java
public static boolean equals(Object a, Object b)
```
其中,`a`和`b`是要比较的两个对象。如果`a`和`b`相等,则返回`true`,否则返回`false`。需要注意的是,该方法比较的是对象的内容,而不是对象的引用地址。
下面是一些使用`Objects.equals()`方法的例子:
```java
Objects.equals(null, "abc"); // 返回false
Objects.equals("abc", null); // 返回false
Objects.equals(null, null); // 返回true
Objects.equals("abc", "abc"); // 返回true
```
Objects.requireNonNull(formatter, "formatter");
这段代码是 Java 中用来检查参数是否为 null 的常用方式。这里的意思是如果 formatter 参数为 null,则会抛出一个 IllegalArgumentException 异常,并且异常信息为 "formatter"。
简单来说,这段代码的作用是确保传入的 formatter 参数不为 null,如果为 null 则会抛出异常。这样可以避免在代码执行过程中出现 NullPointerException 异常。
阅读全文