Hacker News new | ask | show | jobs
by qw 1544 days ago

  if (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)
1 comments

I 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.