Page 68 - 4836
P. 68
String s2 = new String("Java");
System.out.println(s1 == s2); // false
s2 = s2.intern();
System.out.println(s1 == s2); // true
}
}
Виклик методу intern() організує пошук відповідного
значенню об’єкта s2 літерала і повертає посилання на
знайдений літерал.
Часто буває недостатньо просто знати, що є два рядки
ідентичними. Для додатків, в яких потрібне сортування,
потрібно знати, який з двох рядків менший іншого. Для
відповіді на це питання потрібно скористатися методом
compareTo класу String. Якщо ціле значення, повернуте
методом, негативне, то рядок, з якого був викликаний метод,
менше рядка-параметра, якщо позитивно - більший. Якщо ж
метод compareTo повернув значення 0, рядки ідентичні.
Нижче наведена програма, в якій виконується бульбашкове
сортування масиву рядків, а для порівняння рядків
використовують метод compareTo. Ця програма видає
відсортований в алфавітному порядку список рядків.
class SortString{
static String arr[] = {"Now", "is", "the", "time", "for", all",
"good", "men", "to", "come", "to", "the",
"aid", "of", "their", "country"
};
public static void main(String args[]) {
for (int j = 0; i < arr.length; j++) {
for (int i = j + 1; i < arr.length; i++){
if (arr[i].compareTo(arr[j]) < 0) {
String t = arr[j];
arr[j] = arr[i];
arr[i] = t;
}
66