4 ms·
I was going to point this out, too. I thought it also supported cases like: if (foo instanceof Bar) { // foo is typed as Bar in this block } Is that true,
by timmg 5y ago
I was going to point this out, too.
I thought it also supported cases like:
if (foo instanceof Bar) {
// foo is typed as Bar in this block
}
Is that true, or did I get that wrong?
- qw 5y agoif (o instanceof String s) { var foo = s.indexOf("bar"); } Java 17 introduced a preview of the same feature for switch statements return switch (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); default -> o.toString(); }; Future versions will have improved support: http://openjdk.java.net/jeps/420 http://openjdk.java.net/jeps/420)
- MH15 5y agoI use the `o instanceof Class c` thing all the time in my hobby compiler on Java 16 right now. The Java 17 version will greatly simplify much of my codebase.