class X {
int switchTest1(Object obj) {
return switch (obj) {
case (String s) -> 1;
case Integer i && predicate() -> 2;
case Integer i -> 3;
case default -> 4;
case null -> 10;
case Point() point -> 5;
case Point(double x, double y) -> 6;
};
}
int switchTest2(int i) {
return switch (i) {
case Integer integer -> "int";
case Object obj -> "Object";
default -> "not ok";
};
}
int instanceofTest(Object obj) {
if (obj instanceof (Integer i && predicate())) {
return 1;
}
if (obj instanceof (String s)) {
return 3;
}
return 2;
}
native static boolean predicate();
}