Я использую ANTLR4 для анализа моего грамматиста и OWLAPI для работы над онтологиями. Поскольку я использую класс Listener, я не могу изменить тип возвращаемого значения. Вот пример:Явный тип возвращаемого типа в отношении метода заголовка
public void exitSubConcept(Parser.SubConceptContext ctx) {
OWLClassExpression first = stack.pop();
OWLClassExpression second = stack.pop();
OWLSubClassOfAxiom s = factory.getOWLSubClassOfAxiom(second, first);
if(reasoner.isEntailed(s))
{
System.out.println(s.toString() + "is entailed");
}
else
{
System.out.println(s.toString() + "is NOT entailed");
}
super.exitSubConcept(ctx);
}
Это ужасно, так как единственное, что я могу вернуться в печать, но я заинтересован, чтобы обеспечить тип возврата, который является булево (в данном примере), а не только печать, что я не может справиться. Невозможно изменить тип возвращаемого типа, потому что синтаксический анализатор аварийно завершает работу, поэтому есть ли у вас какие-либо конкретные предложения по решению этой ситуации?
вы можете объявить логическую переменную? – haifzhan
Да. Я просто нашел красивое решение, которое означает объявление булевой статической переменной и вызов ее вне этой функции (и класса). – user840718