String字符比较
Apr 29, 2017
编程
Java
通常我们使用String创建一个字符串方法是给String引用变量赋值:
也可以使用java语言的特性new一个对象来创建一个字符串:
上面两种方式看似是等效的,先来段代码看看:
输出结果为true false
可以看出如果使用关键字new,JVM始终会创建一个新的String实例。使用给String赋值的方法未必创建新的对象,如果字符串“Hello world”之前已经存在,那么再使用String赋值时它可能来自之前存在的内存池中。
使用 == 运算符比较两个String
对象的方法几乎是没有什么用处,因为比较的是两个变量引用的地址。通常采用equals
方法:
or
最后附上String实现的源码里面介绍的很详细