短暂的分离可振奋情意,但长久的离别可毁灭情爱。——米拉波

@ExtensionMethod

今天玩了玩,还挺不错:

例如

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

import lombok.experimental.ExtensionMethod;

@ExtensionMethod({java.util.Arrays.class, Extensions.class})
public class ExtensionMethodExample {
public String test() {
int[] intArray = {5, 3, 8, 2};
intArray.sort();

String iAmNull = null;
return iAmNull.or("hELlO, WORlD!".toTitleCase());
}
}

class Extensions {
public static <T> T or(T obj, T ifNull) {
return obj != null ? obj : ifNull;
}

public static String toTitleCase(String in) {
if (in.isEmpty()) return in;
return "" + Character.toTitleCase(in.charAt(0)) +
in.substring(1).toLowerCase();
}
}

就等实现下面的效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

public class ExtensionMethodExample {
public String test() {
int[] intArray = {5, 3, 8, 2};
java.util.Arrays.sort(intArray);

String iAmNull = null;
return Extensions.or(iAmNull, Extensions.toTitleCase("hELlO, WORlD!"));
}
}

class Extensions {
public static <T> T or(T obj, T ifNull) {
return obj != null ? obj : ifNull;
}

public static String toTitleCase(String in) {
if (in.isEmpty()) return in;
return "" + Character.toTitleCase(in.charAt(0)) +
in.substring(1).toLowerCase();
}
}

主要是iAmNull.or("hELlO, WORlD!".toTitleCase())直接调用了静态函数