黑马程序员技术交流社区

标题: String类 [打印本页]

作者: 小p    时间: 2015-7-22 22:23
标题: String类
class  StringDemo
{
        public static void main(String[] args)
        {       
                String s1="abc";//s1是一个类类型变量,“abc”是一个对象。
                                                //字符串最大特点,一旦被初始化就不可以被改变
                String s2=new String("abc");
                /*s1和s2的区别?
                s1在内存中有一个对象
                s2在对象中有两个对象
                */

                System.out.println(s1==s2);
                System.out.println(s1.equals(s2));//String类复写了Object类中equals方法
                                                                                        //该方法用于判断字符串是否相同
        }
}
作者: 拉面    时间: 2015-7-22 23:13
楼主理解的比较透彻,我看的一知半解,希望通过不断学习能看懂
作者: 闪亮未来    时间: 2015-7-23 08:54
不是那样解释的,首先s1 是在常量池中有“abc”这个空间,s1 直接指向了常量池,
而s2则是在堆内存中开辟了一个空间,并将“abc”赋值给该对象,再将其地址值传给s2
作者: 黄新宇    时间: 2015-7-24 19:38
怎么我之前的回复没了




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