-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEqualsHash.java
28 lines (26 loc) · 1.19 KB
/
EqualsHash.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import lombok.EqualsAndHashCode;
/**
* @EqualsAndHashCode - создаёт методы equals() и @hashCode().
* Эта аннотация имеет параметры, в которых можно указать
* какие поля использовать для вычисления hashCode, equals
* По умолчанию используются все не статические поля.
* Чтобы явно указать, какие поля использовать в equals и hashCode
* нужно включить параметр onlyExplicitlyIncuded и
* отметить нужные поля аннотацией @EqualsAndHashCode.Include.
* Вычисление методов equals и hashCode сделаем на основании поля name.
*/
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
public class EqualsHash {
private int id;
@EqualsAndHashCode.Include
private String name;
}
/* Сгенерированный метод hashCode
public int hashCode() {
int PRIME = true;
int result = 1;
Object $name = this.name;
result = result * 59 + ($name == null ? 43 : $name.hashCode());
return result;
}
*/