У меня есть синтаксический анализатор, который имеет такую конструкцию около мильона раз:передавая аргумент, который будет использоваться InstanceOf
if (tokens.first() instanceof CommaToken) {
tokens.consume();
Я хотел бы знать, как это сделать:
if (match(CommaToken)) { ... blah ... }
private boolean match(??? tokenType) {
if (tokens.first() instanceof tokenType) { ... blah ... }
}
Я m, имеющий отказ wetware и не может определить класс tokenType в методе. Другая проблема заключается в том, что Java обрабатывает «токен-тип» как литерал. То есть:
instanceof tokenType
выглядит точно так же, как
instanceof CommaToken
относительно синтаксиса.
Любые идеи?
Технически, динамический эквивалент 'instanceof' должен быть [' Class # isInstance (Object) '] (http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Class.html#isInstance (java. lang.Object)) –