R8 Optimization: Enum Ordinals and Names
[]
Jake Wharton
enum Greeting { FORMAL { @Override String greet ( String name ) { return "Hello, " + name ; } }, INFORMAL { @Override String greet ( String name ) { return "Hey " + name + '!' ; } }; abstract String greet ( String name ); static String type ( Greeting greeting ) { switch ( greeting ) { case FORMAL: return "formal" ; case INFORMAL: return "informal" ; default : throw new AssertionError (); } } } enum Greeting { FORMAL { /* … */ }, INFORMAL { /* … */ }; abstract String greet ( String name ); @Override public String toString () { return "Greeting(" + name ().