本帖最后由 奋斗的小耗子 于 2014-8-24 22:16 编辑
废话不多说,直接上
- import java.io.File;
- class Question
- {
- public static void main(String[] args)
- {
- System.out.println("abc的哈希值:"+"abc".hashCode());
- System.out.println("--------------------------------------------");
- /*只是File路径不一样而已,其他的都一样,很简单吧*/
- File f1 = new File("abc");
- String s1 = f1.getName();
- System.out.println("s1="+s1+" s1的哈希值: "+s1.hashCode());
- System.out.println("s1 == abc ? --> "+(s1 == "abc"));
- System.out.println("s1 equals abc ? --> "+(s1.equals("abc")));
- System.out.println("--------------------------------------------");
- /*这个例子简单吧*/
- File f2 = new File("D:\\abc");
- String s2 = f2.getName();
- System.out.println("s2="+s2+" s2的哈希值: "+s2.hashCode());
- System.out.println("s2 == abc ? --> "+(s2 == "abc"));
- System.out.println("s2 equals abc ? --> "+(s2.equals("abc")));
- }
- }
复制代码 运行结果:
可知,s1与“abc”是同一个对象,s2与“abc”不是同一个对象,为什么会这样呢?
|
|