Я пишу анализатор разметки на Java.Я создал классы для каждого вида токенов на основе суперкласса (общего?), Который я называю BaseToken
.Внутри каждого токена находится Pattern
объект и String
для содержимого.Я пишу функцию, которая находит ближайший токен в строке от определенной начальной точки в строке.Чтобы выяснить, какой шаблон будет работать лучше всего, я создал массив BaseToken
экземпляров, которые будут зациклены при тестировании.
BaseToken
определяется как:
public class BaseToken{
public Pattern pattern = null;
private BaseToken[] children;
}
Пример подкласса BaseToken
выглядит следующим образом:
public class H3 extends BaseToken{
public Pattern pattern = Pattern.compile("\\=\\=\\=([^\\s*].*?)\\=\\=\\=");
}
Моя проблема с этим заключается в том, что для доступа к Pattern
, специфичному для подкласса, мне нужно специально привести этот подкласс кего экземпляр внутри массива.Так как типы токенов будут отличаться в каждом цикле, я не могу просто разыграть его с помощью (subclass)instance
.
Я пытался найти похожие ситуации для себя, но на самом деле я не знаю, что искать,Если это дубликат существующей проблемы, извините.