A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© cxl1694095035 中级黑马   /  2016-5-13 11:22  /  336 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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
        }

}

1 个回复

倒序浏览
冯领峰 来自手机 中级黑马 2016-5-13 11:31:50
沙发
还好,我会了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马