String a = "hi"; String b = new String("hi"); 下列说法正确的是?

Java

  1. A.a == b 为 true,字符串比较值
  2. B.a.equals(b) 一定为 false,因为二者是堆上两个地址不同的独立对象
  3. C.两者引用同一对象,都在常量池
  4. D.a == b.intern() 为 true:字面量入常量池,new 在堆新建