Operation Enum
1. Example
public enum Operation { PLUS { double eval(double x, double y) { return x + y; } }, MINUS { double eval(double x, double y) { return x - y; } }, TIMES { double eval(double x, double y) { return x \* y; } }, DIVIDED_BY { double eval(double x, double y) { return x / y; } }; // Perform the arithmetic operation represented by this constant abstract double eval(double x, double y); public static void main(String args[]) { double x = 2.0; double y = 4.0; for (Operation op : Operation.values()) System.out.println(x + " " + op + " " + y + " = " + op.eval(x, y)); } }
The document says it is anticipated that the need for this will be rare and it is a bit tricky. Why would people think it is tricky?