==是用于比较两个变量对应内存的值是否相等
1、基本数据类型的值是否相等 int a=10; int b=10; a==b true
2、引用是否相同 StringBuffer st =new StringBuffer("a"); StringBuffer st1=st; st1==st true 这两个变量中存的是同一个对象的首地址(即变量中存的值是相等的)
equels
是比较两个独立对象的内容是否相等
String a= new String("a");
String b= new String("a");
a==b false a.equels(b) true
1、但是上上面的类是有自己定义的equels方法
2、如果是自己新建的一个类,没有重写的情况下,是继承object的equels的方法
boolean equals(Object o){
return this==o;
}
这个方法就变得和==一样比较两个变量是否指向同一个对象,而不是判断内容所以新建的类要重写object的equels方法,按照自己的要求定义对比的方式