Page 67 - 4836
P. 67
}
}
На консолі отримаємо:
Чи співпадають рядки? - true
Чи змінні рівні? True.
Тепер трохи видозмінимо програму:
package String;
public class Strings {
public static void main(String[] args) {
String P = "Кросплатформенне
програмування";
String P1 = new String
("Кросплатформенне програмування");
System.out.println("Чи співпадають
рядки? - "+ " "+ P.equals(P1));
System.out.println("Чи змінні рівні?"+ " "+
(P==P1));
}
}
На консолі отримаємо:
Чи співпадають рядки? - true
Чи змінні рівні? false.
Отже, в другому випадку створюється зовсім інший
об’єкт, хоча і з таким самим значенням, тобто, змінні
вказують на різні об’єкти. А методу не важливо, що різні
об’єкти, він порівнює зміст.
А тепер можемо перевизначити посилання з об’єкта на
літерал за допомогою методу intern();
package chapt07;
public class Intern {
public static void main(String[] args) {
String s1 = "Java"; // літерал і посилання на нього
65