Практика на класс Object в Java
Сделайте класс Employee с полями name
и salary. Переопределите toString(),
чтобы выводились имя и зарплата через пробел.
Создайте объект "Ann", 900
и выведите его через println.
Дан класс:
class Employee {
private final String title;
Employee(String title) {
this.title = title;
}
}
Создайте два разных объекта Employee
с заголовком "News".
Выведите результат first.equals(second)
без переопределения equals.
Сделайте класс Employee с полем id.
Переопределите equals и hashCode так,
чтобы равными считались сотрудники с одним id.
Проверьте equals для двух объектов с
id = 1 и разными именами.
Дан код:
import java.util.HashSet;
import java.util.Objects;
class Employee {
private final int id;
private final String name;
Employee(int id, String name) {
this.id = id;
this.name = name;
}
@Override
public boolean equals(Object obj) {
if (!(obj instanceof Employee other)) {
return false;
}
return id == other.id;
}
@Override
public int hashCode() {
return Objects.hash(id);
}
}
Добавьте в набор два Employee с id = 5.
Выведите размер набора.
Сделайте класс Product с полем sku.
Переопределите equals по sku,
но не переопределяйте hashCode.
Создайте два равных по equals объекта
и выведите их hashCode() через пробел.
Сделайте класс User с полем login.
Переопределите toString() так, чтобы
возвращалась строка "user:" и логин.
Выведите String.valueOf(user)
для "neo".
Даны переменные:
Object a = "hi";
Object b = "hi";
Object c = new String("hi");
Выведите три результата equals:
a и b, a и c,
b и c.
Сделайте класс Document с полем code.
Создайте объект и выведите имя класса
через getClass().getSimpleName().
Сделайте класс Order с полями id
и sum. Переопределите equals
и hashCode только по id.
Даны заказы (1, 10) и (1, 99).
Выведите, равны ли они, и одинаковы ли
их hashCode().