Java中String字符串的一些疑惑,求大佬解答
package com.gang.jav2; public class StringDemo { public static void main(String[] args) { String str1=new StringBuilder("javv").append("aa").toString(); System.out.println(str1); System.out.println(str1.intern()); System.out.println(str1==str1.intern()); System.out.println("===================="); String str2=new StringBuilder("javv").append("aav").toString(); String str3="javvaav"; System.out.println(str2); System.out.println(str3); System.out.println(str2==str2.intern()); System.out.println(str3==str2.intern()); System.out.println("===================="); String str4=new String("aabb"); String str5="aabb"; System.out.println(str5==str4.intern()); } } ============================= output: javvaa javvaa true ==================== javvaav javvaav false true ==================== true
话不多说,先上代码;
str1==str1.intern() 这个相信熟悉字符串的同学应该能明白。
下面的str2==str2.intern() 结果是false,我就不能理解了..
这是为什么呢?
#Java##笔试题目#