本帖最后由 xuehuayous 于 2014-4-6 16:06 编辑
- public class Test{
- public static void main(String[] args) {
- String str = "hello" ;
- System.out.println("hello".equals(str)) ;
- System.out.println("hello" == str);
- //String池:Java为了优化字符串操作 提供了一个缓冲池;
- //str指向字符串“hello”,第二句中字符串“hello”,因为字符串在常量池中已经存在,第二句中字符串“hello”就不再开辟空间。
- //所以不管是equals比较内容, ==比较内存地址都为true
- }
- }
复制代码
String池:Java为了优化字符串操作 提供了一个缓冲池;
str指向字符串“hello”,第二句中字符串“hello”,因为字符串在常量池中已经存在,第二句中字符串“hello”就不再开辟空间。
所以不管是equals比较内容, ==比较内存地址都为true
希望对你有帮助! |