当new连个相同的字符串的时候,使用equals比较两个字符串比较的是两个对象的值,也就是比较在常量池里的字符串
下面有一种情况不知道是不是类似:
File file=new File("F:\\a.txt");
File file2=new File("F:\\a.txt");
System.out.println(file.equals(file2));
打印:true
当new一个File对象时,file,file2引用会保存在栈内存中,指向堆内存中的new对象,new对象又指向常量池里字符串”F:\\a.txt“,他们三者都是连在一起的,但真正的实体文件txt是怎样与file对象练习起来的呢? |
|