Создайте метод hashCode и equals для следующего класса.java hashcode и равно
private static class MyOb {
private String name;
private Integer quality;
private final int MAXIMUM = 23;
}
Я не мог решить этот вопрос
Создайте метод hashCode и equals для следующего класса.java hashcode и равно
private static class MyOb {
private String name;
private Integer quality;
private final int MAXIMUM = 23;
}
Я не мог решить этот вопрос
Java класс имеет по умолчанию хэш-код и приравнивает метод метод реализуется через суперкласса. Если и хочет, чтобы через них ездить и можно следующий:
class MyOb {
private String name;
private Integer quality;
private final int MAXIMUM = 23;
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + ((quality == null) ? 0 : quality.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
MyOb other = (MyOb) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
if (quality == null) {
if (other.quality != null)
return false;
} else if (!quality.equals(other.quality))
return false;
return true;
}
}
Примечания: класс не может быть частным или статическим
, если вы хотите увидеть хэш-код класса. создать объект
Myob myObject=new Myob();
System.out.println(myObject);
если хотите равно метод
myObject.equals(which one you want to campare);
вы пытаетесь получить вашу домашнюю работу ?. Сначала приложите некоторые усилия. – shikjohari
Подсказка: посмотрите исходный код любого класса java, например. Объект –
Фактически меня спрашивали в интервью, и я не мог ответить – prem