У меня есть следующий вопрос в java о концепции строк
Вот этот код::
String x="a"; String xy=x+"b"; String ab="ab";
Поскольку строки были назначены строковыми литералами и могут быть созданы в пуле строковых констант.
String x="a"; // "a" will be created in the constant pool referenced by x String xy=x+"b"; // this will be computed in Runtime and created in the constant pool with value as ab referenced by xy String ab="ab"; //this will be created in the constant pool referenced by ab
но при выполнении System.out.println(xy==ab) он возвращается как false.
Поскольку оба они("ab") создаются в пуле строковых констант, который, в свою очередь, должен возвращать true.Я что-нибудь упустил?
Что я уже пробовал:
я понимаю, что когда-либо строка должна быть создана, она должна пойти и сначала проверить пул констант строки, если он не существует, он создаст строку, иначе она даст ссылку на существующую строку.