public class Demo { public static void main(String[] args) { Teacher a=new Teacher(5000); Teacher a1=new Teacher(5000); Teacher a2=a; //用来比较两个对象是否"相等" //在Object类中的equals方法和== 一样,默认是比较地址是否一样 //equals是否相等取决于类中的这个方法是如何实现[重写]的 System.out.println(a==a1);//false System.out.println(a.equals(a1));//true System.out.println(a1.equals(a2));//true } }
public class Teacher { private int salary; public Teacher(int salary) { this.salary = salary; } public boolean equals(Object obj) { if(this==obj){ return true; } if(obj instanceof Teacher){ Teacher sl = (Teacher)obj; return this.salary==sl.salary; } return false; } }
public class Test1 { public static void main(String[] args) { String s="ABAAA"; String s1="ABAAA"; String s2=new String("ABAAA"); String s3=new String("ABAAA"); //"=="比较的是变量所代表的内存地址是否一样 System.out.println(s == s1);//true System.out.println(s1 == s3);//false System.out.println(s2 == s3);//false System.out.println("***************"); //String类中的equals方法是比较值是否相等 System.out.println(s.equals(s1));//true System.out.println(s.equals(s2));//true System.out.println(s2.equals(s3));//true } }
public class Test { public static void main(String[] args) { int i=100; //手动装箱的操作 Integer j=new Integer(i); //手动拆箱的操作 int k=j.intValue(); int m=101; //自动装箱的操作 Integer n=m; //自动拆箱的操作 int mn=n; int a=200; int b=200; Integer a1=200; Integer b1=200; Integer a2=new Integer(200); Integer b2=new Integer(200); System.out.println(a==a1);//true 相当于自动装箱 System.out.println(a1==b1);//false 内存地址不一致 System.out.println(a==b2);//true 相当于自动装箱 System.out.println(a2==b2);//false 内存地址不一致 System.out.println(a==b1);//true 相当于自动装箱 } }
Java中的8中基本数据类型都对应了一个类类型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
基本类型和对应的类类型在进行运算的时候,类类型的数据会自动的拆箱[拆包]
拆箱:将对象中的数据自动转换成基本类型
装箱:将基本类型的数据包装成引用类型
== 是运算符 用来比较两个数据是否相等
比较的是变量所代表的内存地址是否一样
equals 是Object类提供的一个方法
用来比较两个对象是否"相等"
在Object类中的equals方法和== 一样,默认是比较地址是否一样
equals是否相等取决于类中的这个方法是如何实现[重写]的
String类中的equals方法是比较值是否相等
------------------------------------------------------------------------------------------------------------------------------------
java小白一枚,希望通过自己勤奋的码代码,写程序,能提升自己的能力。也希望看到了的各位大神多给点宝贵的建议,在下感激不尽。