其中 字符串拼接会在堆里面产生一个StringBuffer, 然后使用StringBuilder的append()方法将变量与字面量或变量与变量进行拼接,最后调用toString()方法转成String对象,对象a就指向堆里面的这个String对象的地址值
使用intern()这个方法时,首先会检查字符串常量池中是否有对应的字符串,如果存在则返回这个字符串的引用;否则将堆上的地址引用复制到常量池。
这个时候就在常量池里添加了一个"ab",并且把这个字符串的引用返回给了a,,,,然后b通过直接赋值创建对象,b就从常量池里面取 a和b都指向常量池里面的,所以 结果为True