Сравнение объектов Java

Операции сравнения ссылок на объекты не имеют особого смысла, так как при этом сравниваются адреса. Для сравнения значений объектов необходимо использовать соответствующие методы, например, equals(). Этот метод наследуется в каждый класс из суперкласса Object, который лежит в корне дерева иерархии всех классов и переопределяется в произвольном классе для определения эквивалентности содержимого двух объектов этого класса.

/* пример # 7 : сравнение строк и объектов : ComparingStrings.java */

package chapt01;

public class ComparingStrings {

public static void main(String[] args) {

String s1, s2;

s1 = "Java";

s2 = s1; // переменная ссылается на ту же строку

System.out.println("сравнение ссылок "

+ (s1 == s2)); // результат true

// создание нового объекта добавлением символа

s1 += ‘2’;

// s1-="a"; //ошибка, вычитать строки нельзя

// создание нового объекта копированием

s2 = new String(s1);

System.out.println("сравнение ссылок "

+ (s1 == s2)); // результат false

System.out.println("сравнение значений "

+ s1.equals(s2)); // результат true

}

}

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100