String的equals 和 ==
来源:互联网 发布:java语言发展历史 编辑:程序博客网 时间:2024/05/20 23:58
String 的 equals 源码
public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String)anObject; int n = value.length; if (n == anotherString.value.length) { char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false; }
实例比较
对象不同,内容相同
String s1 = new String("java");String s2 = new String("java");System.out.println(s1==s2); //falseSystem.out.println(s1.equals(s2)); //true
同一对象
String s1 = new String("java");String s2 = s1;System.out.println(s1==s2); //trueSystem.out.println(s1.equals(s2)); //true
如果值不相同,对象就不相同
String s1 = "java";String s2 = "java";System.out.println(s1==s2); //trueSystem.out.println(s1.equals(s2)); //true
如果String缓冲池内不存在与其指定值相同的String对象,那么此时虚拟机将为此创建新的String对象,并存放在String缓冲池内。
如果String缓冲池内存在与其指定值相同的String对象,那么此时虚拟机将不为此创建新的String对象,而直接返回已存在的String对象的引用。
阅读全文
0 0
- String 里的==和equals
- String,“==”和“equals”的用法
- 关于String的==和equals
- String类的equals和==
- String的equals和==
- String的==和equals()
- String的== 和equals 比较
- String 的 equals 和 ==
- String的equals 和 ==
- String 的==和equals()方法
- string.Equals(string)和==的原理
- String ==和equals
- String"=="和equals
- 区别==和equals和String创建的区别
- String 和Integer中 == 和 equals的使用
- java Object equals 和 == String equals 和 == 的异同
- C# string 的==和Equals的比较
- String的 == 和 equals方法的比较
- FCC--Sorted Union(排序并集)
- origin2017
- 2的n次幂的Java实现
- 进程间的通信
- pexpect02-之ftp
- String的equals 和 ==
- 经典面试题:单链条反转的递归与非递归方法及分析[Java]
- javascript基础
- 四种遍历map的方法
- Android Studio 创建kotlin项目
- 通过偏旁信息改进中文字向量
- 每天laravel
- 屏幕适配
- Maven依赖排除 禁止依赖传递 取消依赖的方法