1 public void method(){ 2 int a=2; 3 int b=2; 4 a=3 5 }
执行第2行:在栈创建a的引用,然后查找栈中是否存在2的地址,没有开辟一个存储2的地址
执行第3行:在栈创建a的引用,然后查找栈中是否存在2的地址,有,直接把地址赋予b
1 public boolean equals(Object anObject) { 2 if (this == anObject) { 3 return true; 4 } 5 if (anObject instanceof String) { 6 String anotherString = (String)anObject; 7 int n = value.length; 8 if (n == anotherString.value.length) { 9 char v1[] = value; 10 char v2[] = anotherString.value; 11 int i = 0; 12 while (n-- != 0) { 13 if (v1[i] != v2[i]) 14 return false; 15 i++; 16 } 17 return true; 18 } 19 } 20 return false; 21 }
先对内存地址比较,不相等,再对string对象中的value进行比价
String s1=“asd”; String s2=“asd”; System.out.printl(s1==s2); //输出true String s1 = new String(“asd”); String s2=“asd” System.out.printl(s1==s2); //输出false
原文:https://www.cnblogs.com/army-code/p/10497662.html