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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiaoya0o0o 中级黑马   /  2015-9-15 23:01  /  415 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Test{
       
        static  String s1 = "abc";
       
        public static void main(String[] args) {

                String s2 = "abc";
                String s3 = new String("abc");
                String s4 = "abc";
                System.out.println("s1==s2: "+(s1==s2));
                System.out.println("s1==s3: "+(s1==s3));
                System.out.println("s2==s3: "+(s2==s3));
                System.out.println("s2==s4: "+(s2==s4));
               
                System.out.println("s1equals(s2)------"+s1.equals(s2));
                System.out.println("s1equals(s3)------"+s1.equals(s3));
                System.out.println("s2equals(s3)------"+s2.equals(s3));
                System.out.println("s2equals(s4)------"+s2.equals(s4));
                       
        }

}
为什么s1==s2 结果为true
static是在静态代码块中,而String字符串是在常量池中,==在比较的时候是比较的地址
难道说静态static和String在内存中存储在一个区吗

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马