у меня есть этот код в Java:строк в Java показывает неожиданное поведение
String s0="ab";
String s1="bc";
String s2="abbc";
String s3="ab"+"bc";
String s=s0+s1;
Когда я пытаюсь сравнить с & s2 с помощью if(s==s2)
, он возвращает false
,
Но сравнивающих s2 & s3 с использованием, if (s2==s3)
возвращается true
.
Почему выходные данные не одинаковы в обоих случаях?
Я предполагаю, что вы знаете разницу между '.equals()' и '==', когда дело доходит до строк, не так ли? – arshajii
Этот вопрос был дан много ответов на этом сайте. Просто выполните поиск, и вы найдете ответ. – TheEwook
В Java нет специального оператора '==' для строк, он сравнивается только в том случае, если это строка _same_, к которой относятся обе переменные, а не если содержимое одинаковое. –