Мне нужно это сделать, проверьте импорт java.sql.PreparedStatement, у меня есть дерево синтаксического анализа, которое содержит инструкции импорта в этом списке, и я хочу проверить его, работает код alredy, но похоже, что это не самое лучшее, что может быть, есть ли лучший способ проверить этот список?Есть ли лучший способ поиска произвольных значений в этом списке?
List<DetailAST> packageDefinition = findAllAstsOfType(aAST, TokenTypes.IDENT);
for (int j = 0; j < packageDefinition.size() - 2; j++) {
if (packageDefinition.get(j).getText().equals("java")) {
if (packageDefinition.get(j + 1).getText().equals("sql")) {
if (packageDefinition.get(j + 2).getText().equals("PreparedStatement")) {
importsPreparedStatement = true;
}
}
}
}
Одна вещь, которую вы могли бы сделать, это добавить инструкцию 'break;' после вашего 'importPreparedStatement = true;'. – maba
Как сказал maba, вы можете поставить инструкцию 'break;' после 'importPreparedStatement = true;'. Кроме того, я предполагаю, что у вас потенциально есть много импорта java.sql.', поэтому может быть незначительное улучшение, чтобы сначала проверить часть ** (j + 2) ** части определения. Это может уменьшить количество сравнений, которые вы можете сделать. – temelm