String a="b"与String c=new String("b");

 1 package fengke.hashcode;
 2 /**
 3  * 
 4  * @author 锋客
 5  *学习笔记:
 6  *1.hashcode并不是内存地址,只是和内存地址有关;
 7  *2.==判断的是内存地址
 8  *3.equals一般被String等引用类型重写,并不是比较内存地址,而是实际代表内容的差异;
 9  *3.当调用某个类时,先加载static的内容;
10  *
11  */
12 
13 public class StringAndNewString {
14     //常量池中存储(无重复);
15     public String a="锋客";
16     //堆中生成数据
17     public String b=new String("锋客");
18     public String c=a;
19     
20     
21     
22     public StringAndNewString() {
23         System.out.println("已调用无参构造器!");
24     }
25     
26     public static void main(String[] args) {
27         System.out.println("未调用无参构造器!");
28         StringAndNewString test=new StringAndNewString();
29         System.out.println("已调用static!");
30         System.out.println(test.a.hashCode());
31         System.out.println(test.b.hashCode());
32         System.out.println(test.c.hashCode());
33         System.out.println(test.a==test.b);
34     }
35 }

 

posted on 2015-09-11 11:02  锋客person  阅读(390)  评论(0编辑  收藏  举报