Skip to content

Commit a437fc2

Browse files
authored
beloved to me in the Lord
Salute Ampliatus, most beloved to me in the Lord. (Romans 16:8)
1 parent 83ab3d7 commit a437fc2

1 file changed

Lines changed: 98 additions & 0 deletions

File tree

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
2+
//Salute Ampliatus, most beloved to me in the Lord. (Romans 16:8)
3+
4+
package com.javarush.task.task21.task2105;
5+
6+
import java.util.HashSet;
7+
import java.util.Set;
8+
9+
/*
10+
Исправить ошибку. Сравнение объектов
11+
*/
12+
public class Solution {
13+
private final String first, last;
14+
15+
public Solution(String first, String last) {
16+
this.first = first;
17+
this.last = last;
18+
}
19+
20+
@Override
21+
public boolean equals(Object o)
22+
{
23+
if (o == null)
24+
return false;
25+
26+
if (!(o instanceof Solution)){
27+
return false;
28+
}
29+
30+
if (this == o) return true;
31+
32+
Solution solution = (Solution) o;
33+
34+
if (first != null ? !first.equals(solution.first) : solution.first != null) return false;
35+
if (last != null ? !last.equals(solution.last) : solution.last != null) return false;
36+
37+
return true;
38+
}
39+
40+
@Override
41+
public int hashCode()
42+
{
43+
int result = first != null ? first.hashCode() : 0;
44+
result = 31 * result + (last != null ? last.hashCode() : 0);
45+
return result;
46+
}
47+
48+
public static void main(String[] args) {
49+
Set<Solution> s = new HashSet<>();
50+
s.add(new Solution("Mickey", "Mouse"));
51+
System.out.println(s.contains(new Solution("Mickey", "Mouse")));
52+
}
53+
}
54+
55+
/*
56+
Исправить ошибку. Сравнение объектов
57+
Сравнение объектов Solution не работает должным образом. Найти ошибку и исправить.
58+
Метод main не участвует в тестировании.
59+
60+
61+
Требования:
62+
1. Хешкоды одинаковых объектов должны быть равны.
63+
2. Метод equals должен проверять равен ли переданный объект равен текущему(сравнение через ==).
64+
3. Метод equals должен проверять является ли переданный объект объектом класса Solution.
65+
4. Метод equals должен возвращать true в случае, если поля first и last равны у переданного объекта и текущего(не забудь что они могут быть равны null).
66+
5. Должно быть обеспечено корректное поведение HashSet с типом элементов Solution.
67+
6. В классе Solution должен быть реализован метод hashCode.
68+
69+
package com.javarush.task.task21.task2105;
70+
71+
import java.util.HashSet;
72+
import java.util.Set;
73+
74+
*
75+
Исправить ошибку. Сравнение объектов
76+
*
77+
public class Solution {
78+
private final String first, last;
79+
80+
public Solution(String first, String last) {
81+
this.first = first;
82+
this.last = last;
83+
}
84+
85+
public boolean equals(Object o) {
86+
if (!(o instanceof Solution))
87+
return false;
88+
Solution n = (Solution) o;
89+
return n.first.equals(first) && n.last.equals(last);
90+
}
91+
92+
public static void main(String[] args) {
93+
Set<Solution> s = new HashSet<>();
94+
s.add(new Solution("Mickey", "Mouse"));
95+
System.out.println(s.contains(new Solution("Mickey", "Mouse")));
96+
}
97+
}
98+
*/

0 commit comments

Comments
 (0)