, . , - , , . , , .
"" ( ), - . , , :
public interface Operators {
}
public enum BooleanOperators implements Operators {
AND, OR, NOT, XOR
}
public enum ArithmeticOperators implements Operators {
ADD, SUBTRACT, MULTIPLY, DIVIDE
}
, BooleanOperators , ArithmeticOperators, , Operators:
public void doSomethingWithOperators(Operators operators) {
....
}
, :
public interface Operators {
int getCode();
}
public enum BooleanOperators implements Operators {
private int code;
AND(1), OR(2), NOT(3), XOR(4)
private BooleanOperators(int code) {
this.code = code;
}
public int getCode() {
return this.code;
}
}
ArithmeticOperators.ADD.getCode(), , . , , , . , - , (, ) .
. ; , , , getCode(). :
public enum BooleanOperators {
private int code;
AND(1), OR(2), NOT(3), XOR(4)
private BooleanOperators(int code) {
this.code = code;
}
public int getCode() {
return this.code;
}
}
, , . , !
, ( Token), , Map<String, Token>. . , .