String a = "abc";
String b = "abc";
System.out.println("====>"+ a==b );
对于这个问题,答案是true
为什么?第一行代码创建了一个对象 (String pool) String内部会把内容为"abc"放进String pool(String池)并且让a指向"abc"
对于第二行代码,String会去检查String Pool有没有"abc"的对象,发现有那么就不创建对象了,直接让b指向"abc"
所以a和b指向的是同一个内存地址,更加详细的信息可以查看String 的API |