黑马程序员技术交流社区

标题: String类的常见面试题 [打印本页]

作者: cxl1694095035    时间: 2016-5-13 11:22
标题: String类的常见面试题
package com.heima;

public class Test5_String {
       
        public static void main(String[] args) {
                //1,判断定义为String类型的s1和s2是否相等
                String s1 = "abc";                                                //常量池中没有这个字符串,对象就会创建一个,如果有直接用即可
                String s2 = "abc";
                System.out.println(s1==s2);                                //true
                System.out.println(s1.equals(s2));                //true
               
                //2,下面这句话在内存中创建了几个对象
                String s3 = new String("abc");                        //创建了两个,一个在常量池中,一个在堆内存中
               
                //3,判断定义为String类型的s1和s2是否相等
                String s4 = new String("abc");                        //记录的是堆内存中对象的地址值,
                String s5 = "abc";                                                //记录的是常量池中的地址值
                System.out.println(s4==s5);                                //false
                System.out.println(s4.equals(s5));                //true
               
                //4,判断定义为String类型的s1和s2是否相等
                String s6 = "a"+"b"+"c";                                //java中有常量优化机制
                String s7 ="abc";                                               
                System.out.println(s6==s7);                                //true
                System.out.println(s6.equals(s7));                //true
               
                //5,判断定义为String类型的s1和s2是否相等
                String s8 = "ab";
                String s9 = "abc";                                                //常量池中
                String s10 = s8 + "c";                                        //堆内存中
                System.out.println(s10==s9);                        //false
                System.out.println(s10.equals(s9));                //true
        }

}

作者: 冯领峰    时间: 2016-5-13 11:31
还好,我会了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2