从一道诡异的程序说起-----对象池技术
这几天一直在看java面试题,其中有一个基本上一面都会问的问题。就是==与equal()的异同问题。这个问题本文不谈,本文谈谈在实验这==中遇到了一个问题。
程序如下:
public class Test{ public static void main(String[] args){ //s1,s2分别位于堆中不同空间 String s1=new String("hello"); String s2=new String("hello"); System.out.println(s1==s2)//输出false//s3,s4位于池中同一空间 String s3="hello"; String s4="hello"; System.out.println(s3==s4);//输出true } } 上面这段代码如何解释???