java中字符串是保存在字符串常量池中,由于在s3和s4不是用new String构造的,所以s3和s4都是指向常量池中的"hello",所以s3==s4比较地址的时候,会返回true

解决方案 »

  1.   

    s3和s4共用一个存储空间,即他们存放的地址一样,s3==s4比较的不是字符串的内容而是存储地址的物理字符串,若其中一个用new分配空间后,则结果应为false。
      

  2.   

    java中字符串是保存在字符串常量池中,由于在s3和s4不是用new String构造的,所以s3和s4都是指向常量池中的"hello",所以s3==s4比较地址的时候,会返回true
      

  3.   

    嗯,对String的话,如果不是new String这种方法构造的,是会在原来已经有的String的内存池中找一个的(以免占用过多的内存)
      

  4.   

    现在流行鹦鹉学舌么?怎么都是xiangqianchong(向前冲)这种无聊的人啊?