String s1 = "hello";
String s2 = "hello";请问这是创建了一个hello字符串,还是两个单独的字符串????

解决方案 »

  1.   

    s1,s2只是2个引用,分别指向了2个内存地址,只是巧合的是他们的值都是hello
      

  2.   

    楼上的两位同学的答案貌似正确,实际上害人不浅。"hello"作为字符串常量,它们都放在JVM的对象池中,也就是说,上面的s1和s2指向了同一个字符串,也就是说s1 == s2的值是true。结贴给分吧,谢谢。
      

  3.   

    String s1 = "hello";
    String s2 = "hello";这中创建字符串的方式,“hello”是存储在栈中的,一般称为常量池的方式,这样的方式创建可以说 :s1 == s2 ;
    如果是: String  s1 = new String("hello");
      

  4.   

    String s2 = new String("hello");
    这是  s1 s2表示是对象的引用 ,s1 = s2
    但是他们的内容是相同的 一般用equals() 和compareto()来比较他们的内容~!
    s1.equls(s2) 为true;
    s1.compareto(s2) == 1;
    个人观点 !
      

  5.   

    bit1010(因为学无止境所以更要努力学)、sharpyuce() 
    两位,真不好意思,我就十几分,不过为表示谢意,每人送一分,还望海涵!