String st1=new String("abc");那么st1=="abc"和st1.equals("abc")都是true
时间: 2023-12-04 11:27:16 浏览: 106
Java String 和 new String()的比较与区别
5星 · 资源好评率100%
其中,st1.equals("abc")返回true是因为String类的equals方法会比较两个字符串的内容是否相同,而"abc"和st1都是由相同的字符序列组成的,所以返回true。但是,st1 == "abc"返回false是因为"abc"是一个字符串常量,它在编译时就已经被创建并放入字符串常量池中了,而st1是在运行时动态创建的,它的引用并不指向字符串常量池中的那个字符串常量。所以,虽然它们的内容相同,但它们是两个不同的字符串对象,因此==比较会返回false。
阅读全文