String s1="str";equals() чувствителен к регистру (нижний или верхний регистр):
Строка s2="str";
if(s1.equals(s2))
System.out.println("Обе строки равны");
String s1="str";В данном случае он возвращает false.
Строка s2="STR";
if(s1.equals(s2))
System.out.println("Обе строки равны");
String s1="str";
Строка s2="STR";
if(s1.equalsIgnoreCase(s2))
System.out.println("Чувствительность к игнорируемому регистру. Две струны равны");
if("string1".length()=="string2".length())
System.out.println("string1 и string2 равны по размеру");
else if("string1".length()>" string2".length())
System.out.println("string1 длиннее");
else
System.out.println("string2 длиннее");
new String("test").equals(new String("test"));//--> trueОператор "==" проверяет равенство объектов, вот ряд ошибок, которых следует избегать:
String s1="trial";Конкатенация возвращает true, потому что она вызывается во время компиляции, в отличие от substring() и replace(), которые вызываются во время выполнения, и будет создан новый объект, который не равен другой части уравнения.
String s2="trial";
//это один и тот же объект
s1==s2; --> false
//это не один и тот же объект
s1 == "test"; --> false
//Они ссылаются на один и тот же объект
"test" == "test"; --> true
//конкатенация рассматривается как единый объект
"test" == "ваш"+"t"; --> true
//метод substring() генерирует новый объект
"test" == "1test".substring(1); --> false
//метод replace() генерирует новый объект
"test" == "Test".replace("T", "t"); --> false
Please disable your ad blocker and refresh the window to use this website.