Sum*_*hra 0 java string string-comparison
String s=new String("Computer");
if(s=="Computer")
System.out.print("equals A");
if(s.equals("Computer"))
System.out.print("Equal B");
Run Code Online (Sandbox Code Playgroud)
输出是 Equal B
现在为什么 ==不生产equals A
是什么instanceof?
== 是参考等于,如',这个确切的对象是与其他对象完全相同的对象吗?'.
当你创建s一个新对象时,它也不会与你比较它的字符串是同一个对象(取决于你正在使用的JVM "foo" == "foo"将是真的,因为它将在内部使用相同的对象).
当你调用.equals()它时(字符串s)运行它自己的逻辑来确定它是同一个对象.在String的情况下,它将逐字符地比较它.
instanceof完全是另一回事,它会告诉你一个对象是否是某种类型对象的实例,例如"foo" instanceof String是真的.
| 归档时间: |
|
| 查看次数: |
2496 次 |
| 最近记录: |