(十三)java中一些工具类的使用
1. object类和他的常用方法
Object类是一个特殊的类,是所有类的父类,如果一个类没有继承某个类,那么它默认的继承Object类。这里介绍一下他的常用方法equals。
object类中的equals比较的是<是否为同一对象>
而每个子类继承object时,可以能会重写equals方法,也可能不会重写,
没有重写的,如果需要使用,那么就会调用父类的equals方法,用于比较2个对象是否相同。
而,使用最多的地方是String字符串中。
String类中的equals重写了object的equals方法,
String中的equals方法是 <先比较是否为同一对象,如果不是,那么会进行= =比较>
注意:他与= =的区别
用例子来说明下:
//new进行了实例化,开辟了一个地址空间,
//s1实际上是一个栈内存地址,指向的是堆内存中的字符串”123“
String s1=new String("123");
String s2="123";
String s3="123";
//==可以比较基本数据类型的值 是否相同。
//也可以比较引用数据类型时,比较的是他们的内存地址,
//而使用equals比较的是他们指向的值是否星等。
//使用==判断的是否为同一个值
System.out.println(s1==s2);//false
System.out.println(s1==s3);//false
System.out.println(s1.equals(s3));//true
System.out.println(s2==s3);//true
System.out.println(s2.equals(s3));//true
总结来讲:
- 如果想用值比较,基本数据类型用= =,引用数据类型用equals
- 如果引用数据类型比较对象内存地址是否相同,可以使用= =。
2. 重写父类equals方法比较对象是否相等
package _01_object类的方法使用;
/**
* @author 刘平远
* @version 创建时间:2019年8月15日 上午9:59:15
* 类说明 :person 实例 equals
*
*/
public class Person {
int id;
String name;
public Person(int id, String name) {
super();
this.id = id;
this.name = name;
}
//重写父类的equals方法,
public boolean equals(Object o) {
Person p=(Person)o;
if (p.id==this.id&&p.name==this.name) {
return true;
}else {
return false;
}
}
public static void main(String[] ar