Android(java)学习笔记98:关于string类型的面试题
2015-06-02 21:58
232 查看
package cn.itcast_02; /* * String s = new String(“hello”)和String s = “hello”;的区别? * 有。前者会创建2个对象,后者创建1个对象。 * * ==:比较引用类型比较的是地址值是否相同 * equals:比较引用类型默认也是比较地址值是否相同,而String类重写了equals()方法,比较的是内容是否相同。 */ public class StringDemo2 { public static void main(String[] args) { String s1 = new String("hello"); String s2 = "hello"; System.out.println(s1 == s2);// false System.out.println(s1.equals(s2));// true } }
“hello"这个字符串属于在字符串常量区的对象
过程图:
下面看程序,结果:
package cn.itcast_02; /* * 看程序写结果 */ public class StringDemo3 { public static void main(String[] args) { String s1 = new String("hello"); String s2 = new String("hello"); System.out.println(s1 == s2);// false System.out.println(s1.equals(s2));// true String s3 = new String("hello"); String s4 = "hello"; System.out.println(s3 == s4);// false System.out.println(s3.equals(s4));// true String s5 = "hello"; String s6 = "hello"; System.out.println(s5 == s6);// true System.out.println(s5.equals(s6));// true } }
package cn.itcast_02; /* * 看程序写结果 * 字符串如果是变量相加,先开空间,在拼接。 * 字符串如果是常量相加,是先加,然后在常量池找,如果有就直接返回,否则,就创建。 */ public class StringDemo4 { public static void main(String[] args) { String s1 = "hello"; String s2 = "world"; String s3 = "helloworld"; System.out.println(s3 == s1 + s2);// false System.out.println(s3.equals((s1 + s2)));// true System.out.println(s3 == "hello" + "world");// false 这个我们错了,应该是true System.out.println(s3.equals("hello" + "world"));// true // 通过反编译看源码,我们知道这里已经做好了处理。 // System.out.println(s3 == "helloworld"); // System.out.println(s3.equals("helloworld")); } }
相关文章推荐
- c# 面试经验
- 剑指offer有关链表的面试题
- 面试题21 包含min函数的栈
- 编程之美—面试题16 反转链表
- 探究css中各种情况下的元素的垂直和水平居中的问题(面试题)
- 黑马程序员_set方法和get方法及类方法总结
- 编程之美—面试题15 链表中倒数第K个结点(java实现)
- 黑马程序员——Java基础---语法<一>
- J哥---------北京Android各招聘公司面试实战总结2
- 面试题:静态变量和实例变量的区别?
- 面试题:使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
- 面试题:用最有效的方式算出2*8等于几
- 黑马程序员——Java基础---初识
- 黑马程序员——java语言基础——正则表达式
- 程序员面试的一些心得
- 网易游戏2015年暑期实习生面试经历-游戏研发工程师
- 黑马程序员_java语言_正则表达式以及Date类
- 黑马程序员_正则表达式的常见写法和应用
- Andorid-15k+的面试题。
- 程序员父亲的遗产——编程十诫 转载