比对字符串一定要用equals("");
例如String s = "dd";
if(s.equals("dd")){
System.out.println("true");
}
==是用来比对对象在内存中的地址,所以不能用来比对字符串
例如String s = "dd";
if(s.equals("dd")){
System.out.println("true");
}
==是用来比对对象在内存中的地址,所以不能用来比对字符串
以前好像看到资料String在JVM中有一个什么缓存机制,如果是String str = "ok";这样的创建方式,不是用new创建的,首先会查找是否有,如果有就会直接取一个。这样的话,下面两个好像不太好解释啊。
System.out.println(Other.java == java);
System.out.println(java==("Ja"+va));