java中两个字符串“Equals”和“==”的区别

王朝java/jsp·作者佚名  2006-01-10
宽屏版  字体: |||超大  

String s1 = null;

String s2 = null;

System.out.println(s1==s2);//true

//System.out.println(s1.equals(s2));//NullPointerException

s1 = s2;

System.out.println(s1==s2);//true

//System.out.println(s1.equals(s2));//NullPointerException

System.out.println("***1***");

s1 = null;

s2 = "";

System.out.println(s1==s2);//false

//System.out.println(s1.equals(s2));//NullPointerException

s1 = s2;

System.out.println(s1==s2);//true

System.out.println(s1.equals(s2));//true

System.out.println("***2***");

s1 = "";

s2 = null;

System.out.println(s1==s2);//false

System.out.println(s1.equals(s2));//false

s1 = s2;

System.out.println(s1==s2);//true

//System.out.println(s1.equals(s2));//NullPointerException

System.out.println("***3***");

s1 = "";

s2 = "";

System.out.println(s1==s2);//true

System.out.println(s1.equals(s2));//true

s1 = s2;

System.out.println(s1==s2);//true

System.out.println(s1.equals(s2));//true

System.out.println("***4***");

s1 = new String("");

s2 = new String("");

System.out.println(s1==s2);//false

System.out.println(s1.equals(s2));//true

s1 = s2;

System.out.println(s1==s2);//true

System.out.println(s1.equals(s2));//true

System.out.println("***5***");

s1 = "null";

s2 = "null";

System.out.println(s1==s2);//ture

System.out.println(s1.equals(s2));//true

s1 = s2;

System.out.println(s1==s2);//true

System.out.println(s1.equals(s2));//true

System.out.println("***6***");

s1 = new String("null");

s2 = new String("null");

System.out.println(s1==s2);//flase

System.out.println(s1.equals(s2));//true

s1 = s2;

System.out.println(s1==s2);//true

System.out.println(s1.equals(s2));//true

System.out.println("***7***");

s1 = "abc";

s2 = "abc";

System.out.println(s1==s2);//ture

System.out.println(s1.equals(s2));//true

s1 = s2;

System.out.println(s1==s2);//true

System.out.println(s1.equals(s2));//true

System.out.println("***8***");

s1 = new String("abc");

s2 = new String("abc");

System.out.println(s1==s2);//false

System.out.println(s1.equals(s2));//true

s1 = s2;

System.out.println(s1==s2);//true

System.out.println(s1.equals(s2));//true

System.out.println("***9***");

数字人--我的个人主页:http://www.shuziren.cn

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有