With Lombok
01 import lombok.ExtensionMethod;
02 import java.util.Arrays;
03
04 @ExtensionMethod({Arrays.class, ExtensionMethodExample.Objects.class})
05 class ExtensionMethodExample {
06 private void arrayExtension() {
07 long[] values = new long[] { 5, 9, 2, 7 };
08 values.copyOf(3).sort();
09 }
10
11 private boolean customExtension(String s) {
12 return s.isOneOf("foo", "bar");
13 }
14
15 static class Objects {
16 public static boolean isOneOf(Object object, Object... possibleValues) {
17 if (possibleValues != null) for (Object possibleValue : possibleValues) {
18 if (object.equals(possibleValue)) return true;
19 }
20 return false;
21 }
22 }
23 }
Vanilla Java
01 import java.util.Arrays;
02
03 class ExtensionMethodExample {
04 private void arrayExtension() {
05 long[] values = new long[] { 5, 9, 2, 7 };
06 Arrays.sort(Arrays.copyOf(values, 3));
07 }
08
09 private boolean customExtension(String s) {
10 return ExtensionMethodExample.Objects.isOneOf(s, "foo", "bar");
11 }
12
13 static class Objects {
14 public static boolean isOneOf(Object object, Object... possibleValues) {
15 if (possibleValues != null) for (Object possibleValue : possibleValues) {
16 if (object.equals(possibleValue)) return true;
17 }
18 return false;
19 }
20 }
21 }