-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathApp.java
More file actions
57 lines (38 loc) · 1.19 KB
/
App.java
File metadata and controls
57 lines (38 loc) · 1.19 KB
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package kr.springboot.examples.ex21;
import java.util.Objects;
import java.util.Optional;
/**
* There Is No Need to Unwrap Optionals for Asserting Equality
* Equals 를 위해 Optional 을 풀 필요가 없다.
*/
public class App {
/* Optional.equals()source code:
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof Optional)) {
return false;
}
Optional<?> other = (Optional<?>) obj;
return Objects.equals(value, other.value);
}
*/
// Avoid
public void equalsAvoid(Object obj) {
Optional<String> actualItem = Optional.of("Shoes");
Optional<String> expectedItem = Optional.of("Shoes");
// assertEquals(expectedItem.get(), actualItem.get());
// get()
expectedItem.get().equals(actualItem.get());
}
// Prefer
public void equalsPrefer(Object obj) {
Optional<String> actualItem = Optional.of("Shoes");
Optional<String> expectedItem = Optional.of("Shoes");
// assertEquals(expectedItem, actualItem);
// equals 그냥
actualItem.equals(expectedItem);
}
}