引用数据类型的比较
/*
* 引用数据类型的比较
*/
String str1 = "男";
//系统分配一个内存地址1来存储这个变量,str1指向内存地址1
String str2 = "男";//为了节省内存,系统会找到已有内存地址1,str2指向内存地址1
String str3 = new String("男");
//new一个引用数据类型,系统会重新分配一个占用地址2来存储,不会去找"男"这个内存地址1
System.out.println(str1=="男");
//为了节省内存,直接输入的常量会找"男"这个内存地址1,所以结果为true
System.out.println(str1==str2);//结果为true,因为内存地址相同
System.out.println(str1==str3);//结果为false,因为内存地址不同
System.out.println(str3=="男");//结果为false,因为内存地址不同
System.out.print(str1.equals(str3));//结果为true,equals方法比较的是字符串内容