public classTestEquals {public static voidmain(String[] args) {//该种方式创建的对象params1_1与params2_1,因为值相同,所以只在内存中存放一处
String params1_1="lowi";
String params2_1="lowi";//该种方式创建的对象params1_2与params2_2,//通过new方式创建的对象,如Sting对象被创建在内存中,他们的值相同,但是位置不同
String params1_2=new String("lowi");
String params2_2=new String("lowi");//比较使用“”
if(params1_1==params2_1){
System.out.println("params1_1==params2_1");
}else{
System.out.println("params1_1!=params2_1");
}if(params1_1.equals(params2_1)){
System.out.println("params1_1与params2_1,equals");
}else{
System.out.println("params1_1与params2_1,not equals");
}/**//结果一
params1_1==params2_1
params1_1与params2_1,equals
**/
//比较使用“”与new对象:一
if(params1_1==params1_2){
System.out.println("params1_1==params1_2");
}else{
System.out.println("params1_1!=params1_2");
}if(params1_1.equals(params1_2)){
System.out.println("params1_1与params1_2,equals");
}else{
System.out.println("params1_1与params1_2,not equals");
}/**//结果二
params1_1!=params1_2
params1_1与params1_2,equals*/
//比较使用new创建对象
if(params1_2==params2_2){
System.out.println("params1_2==params2_2");
}else{
System.out.println("params1_2!=params2_2");
}if(params1_2.equals(params2_2)){
System.out.println("params1_2与params2_2,equals");
}else{
System.out.println("params1_2与params2_2,not equals");
}/**//结果三
params1_2!=params2_2
params1_2与params2_2,equals*/
//比较使用new创建对象:二//java.lang.String方法intern,用于检查字符串池里是否存在"lowi"这么一个字符串,如果存在,就返回池里的字符串;//如果不存在,该方法会 把"lowi"添加到字符串池中,然后再返回它的引用。
params2_2 =params2_2.intern();if(params2_1==params2_2){
System.out.println("params2_1==params2_2");
}else{
System.out.println("params2_1!=params2_2");
}if(params2_1.equals(params2_2)){
System.out.println("params2_1与params2_2,equals");
}else{
System.out.println("params2_1与params2_2,not equals");
}/**//结果四
params2_1==params2_2
params2_1与params2_2,equals*/}
}