class Test { void test(Object o, Integer integer) { switch (o) { case String s && integer -> System.out.println(); default -> {} } switch (o) { case String s && isBool() -> System.out.println(); default -> {} } switch (o) { case Integer i && isInt(): break; default: break; } switch (o) { case Integer i && null: break; default: break; } } private native boolean isBool(); private native int isInt(); }