目录
使用"=="进行比较
基本数据类型比较
引用类型且地址相同
引用类型但地址不同
使用equals进行比较
重写前的比较
重写后的比较
使用"=="进行比较
“==”是运算符,如果是基本数据类型,则比较存储的值,如果是引用数据类型,则比较所指向对象的地址值。
基本数据类型比较
int num1 = 10;
int num2 = 10;
System.out.println(num1 == num2); //true
引用类型且地址相同
String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2); //true
引用类型但地址不同
String s3 = new String("hello");
String s4 = new String("hello");
System.out.println(s3 == s4); //false
使用equals进行比较
String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2); //true
引用类型但地址不同
String s3 = new String("hello");
String s4 = new String("hello");
System.out.println(s3 == s4); //false
使用equals进行比较
equals是一个方法,不能用与比较基本类型。比较的是变量所指向的对象的地址值。一般情况下,类会重写equals方法用来比较两个对象的内容是否相等。
重写前的比较
People p1 = new People();
People p2 = new People();
People p = p2;
System.out.println(p1.equals(p2)); //false,p1和p2的地址值不同
System.out.println(p.equals(p2)); //true,p和p2的地址值相同
重写后的比较
String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2); //true,比较地址值
System.out.println(s1.equals(s2));//true,比较内容
System.out.println(s1.equals("hello")); //true
String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2); //true,比较地址值
System.out.println(s1.equals(s2));//true,比较内容
System.out.println(s1.equals("hello")); //true



