46 lines
1.4 KiB
Markdown
46 lines
1.4 KiB
Markdown
# 常用API
|
||
|
||
## Object类
|
||
|
||
### toString方法
|
||
|
||
`public String toString()`默认是返回当前对象再堆内存中的地址信息:类的全类名@十六进制哈希值
|
||
|
||
#### 用途:
|
||
|
||
在开发过程中直接输出对象看到对象地址是毫无意义的,更多时候是希望看到对象中的内容数据而不是假地址信息
|
||
|
||
所以toString()方法存在的意义就是为了被子类重写,以便返回对象的内容信息,而不是地址信息。
|
||
|
||
### equals方法
|
||
|
||
`public boolean equals(Object 0)`默认是比较当前对象与另一对象地址值是否相同,返回boolean类型
|
||
|
||
#### 意义:
|
||
|
||
父类equals方法存在的意义就是为了子类重写,以便于子类自己定制比较规则
|
||
|
||
**IDEA中重写的equals方法:**
|
||
|
||
```java
|
||
public boolean equals(Object o) {
|
||
if (this == o) return true;
|
||
if (o == null || getClass() != o.getClass()) return false;
|
||
Student student = (Student) o;
|
||
return age == student.age && Objects.equals(name, student.name);
|
||
}
|
||
```
|
||
|
||
### **Objects类中的equals方法**
|
||
|
||
避免了空指针异常问题
|
||
|
||
```java
|
||
public static boolean equals(Object a, Object b) {
|
||
return (a == b) || (a != null && a.equals(b));
|
||
}
|
||
```
|
||
|
||
双&&或者双||,都是执行左边若为false或者true则右侧不执行
|
||
|
||
 |