黑马程序员技术交流社区
标题: 8.11 String比较方法练习; [打印本页]
作者: jw在路途 时间: 2014-8-11 21:20
标题: 8.11 String比较方法练习;
/* 这是今天的练习代码,理解透彻,甚是满足,分享一下...见笑了
String类比较方法的练习:
字符串特点: 一旦被赋值就不可改变(指的是字符串的内容,常量池的常量)。 引用可 以改变。
*/
public class StringDemo2 {
public static void main(String[] args) {
String s1 = new String("hello");
String s2 = new String("hello");
System.out.println(s1 == s2); // false 比较的是s1和s2的地址值
System.out.println(s1.equals(s2)); // true 比较的是s1和s2的成员值
String s3 = new String("hello");
String s4 = "hello";
System.out.println(s3 == s4); // false 比较的是s3和s4的地址值
System.out.println(s3.equals(s4));// true 比较的是s3和s4的成员值
String s5 = "hello";
String s6 = "hello";
System.out.println(s5 == s6);// true 比较的是s5和s6的地址值
System.out.println(s5.equals(s6));// true 比较的是s5和s6的成员值
String s7 = "hello";
String s8 = "world";
System.out.println(s7 == s8);// false 比较的是s7和s8的地址值
System.out.println(s7.equals(s8));// false 比较的是s7和s8的成员值
String ss1 = "hello";
String ss2 = "world";
String ss3 = "helloworld";
System.out.println(ss3.equals(ss1 + ss2));// true
// 如果是字符串变量相加,先开空间,再相加存储。
// 如果是字符串常量相加,先加,在常量池里面找,如果有就返回常量池里面的地址。否则,就创建新的存储空间。
System.out.println(ss3 == ss1 + ss2);// false 两个变量相加,开辟一个新空间,再找值。地址值改变。
System.out.println(ss3 == "hello" + "world"); // true 两常量想加,ss3指向常量池中已有的数值。地址值不变。
}
}
图片:
作者: Bule丶 时间: 2014-8-11 21:29
很好,继续努力
作者: 冷锋也温柔 时间: 2014-8-11 22:26
0725班的??
作者: sdfe 时间: 2014-8-11 22:35
讲得好全啊。还配了图。学习了。
作者: jw在路途 时间: 2014-8-11 22:55
你是0725的?呵呵
作者: 席杰 时间: 2014-8-11 22:56
学习了,谢谢楼主
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |