代码改变世界

学习Java字符串笔试题之二

2008-01-28 22:40  和尚释然  阅读(503)  评论(0编辑  收藏  举报
public class StringTest2 {   
    public static void main(String[] args) {
        String hello = "hello";
        String hel = "hel";
        String lo = "lo";
       
        System.out.println(hello == "hel" + "lo");
        //在"+"两边都是常量字符串,则将两个字符串合并并且在String Pool中查找"hello"
        //并返回在String Pool中的内存地址正好也是hello变量的内存地址,所以第一句代码会输出true。
        System.out.println(hello == "hel" + lo);
        //如果在"+"两边有一边是引用类型变量,Java会将合并成一个字符串并且在堆栈中创建一个
        //新的对象并且返回内存地址,所以这句代码是输出false。
    }

}