==和equals的区别是什么?
对于基本类型和引用类型==的作用效果是不同的,如下所示:
· 基本类型:比较的是值是否相同;
· 引用类型:比较的是引用是否相同;
代码示例:
/**
* 采用字面值方式赋值
*/
String str1="abc";
String str2="abc";
System.out.println(str1==str2);
System.out.println(str1.equals(str2));
System.out.println(str1.hashCode()==str2.hashCode());
System.out.println("=============");
/**
* 采用new关键字创建一个字符串对象
*/
String str_1=new String("abc");
String str_2=new String("abc");
System.out.println(str_1==str_2);
System.out.println(str_1.equals(str_2));
System.out.println(str_1.hashCode()==str_2.hashCode());
以上代码运行结果:
true
true
true
=============
false
true
true
代码解读:因为str1和str