Java 字符串操作布尔值

Java 字符串操作布尔值,java,string,Java,String,我试图打印 a、 子串(1) 这也是 “卑诗省” 为什么结果是假的? 我认为这是真的。=比较引用和原语的值(int,long等),使用a.substring(1).equals(“bc”),应该是这样的: String a ="abc"; return (a.substring(1)=="bc"); substring返回表示“bc”的字符串的新实例,该实例与字符串池中的“bc”文本不同,因此==(引用比较)返回false String s = "abc"; System.out.printl

我试图打印
a、 子串(1) 这也是
“卑诗省”

为什么结果是假的?
我认为这是真的。

=
比较引用和原语的值(
int
long
等),使用
a.substring(1).equals(“bc”)
,应该是这样的:

String a ="abc";
return (a.substring(1)=="bc");

substring返回表示
“bc”
的字符串的新实例,该实例与字符串池中的
“bc”
文本不同,因此
==
(引用比较)返回false
String s = "abc";
System.out.println(s.substring(1).equals("bc"));