2016-12-05 7 views
-5

В настоящее время я выполняю свое программирование. Но есть один шаг, который я не совсем понимаю. Есть 7 частных переменных экземпляра, и мы должны использовать метод equals() для сравнения всех переменных экземпляра. Как это возможно? Это вопрос- Класс должен переопределить метод equals() объекта, чтобы вернуть true, если объект в качестве аргумента равен объекту, который вызывал метод и false в противном случае. Метод должен сравнивать все переменные экземпляра этих двух объектов.Как переопределить метод equals(), когда вам нужно сравнить 7 переменных экземпляра?

И это экземпляр variables-

public class Book implements Usable{ 
//instance variables 


private String b1, b2, b3, b4, b5, b6, b7; 
private boolean bookReference; 
+0

Что невозможно в сравнении семи пар переменных? (Кстати, у вас, кажется, восемь, если вы включили логическое) – Thilo

ответ

0

Не уверен, что вы имеете в виду ... вы должны использовать равный метод Строка для 7 переменных? В этом случае вот идея ... вам нужно проверить значение null. Если вы можете использовать другую библиотеку, вы можете использовать StringUtils.equal() вместо этого, поскольку она также проверяет значение null. Вы также должны реализовать hashCode() также для правильности.

@Override 
public boolean equals (Object o) { 

if (o == this) 
    return true; 
if (!(o instanceof Book)) 
    return false; 

Book that = (Book) o; 

if (!this.b1.equals(that.b1)) return false; 
if (!this.b2.equals(that.b2)) return false; 
//Add the rest of the variable 

return true; 
} 
+0

- Не могли бы вы объяснить приведенный выше код? – ArrchanaMohan

 Смежные вопросы

  • Нет связанных вопросов^_^