Шаблон конечного массива вместо нефинальной переменной для логического флага во внутреннем классе
У меня часто бывает ситуация в моем Java-коде, когда мне нужно установить логический флаг внутри внутреннего класса. Для этого невозможно использовать примитивный логический тип, потому что внутренний класс может работать только с конечными переменными извне, поэтому я использую шаблон так:
// class from gnu.trove is not of big importance, just to have an example
private final TIntIntHashMap team = new TIntIntHashMap();
// ....... code ............
final boolean[] flag = new boolean[]{false};
team.forEachValue(new TIntProcedure() {
@Override
public boolean execute(int score) {
if(score >= VICTORY_SCORE) {
flag[0] = true;
}
return true; // to continue iteration over hash map values
}
});
// ....... code ..............
Шаблон конечного массива вместо нефинальной переменной работает хорошо, за исключением того, что он не выглядит достаточно красивым для меня. Кто-то знает лучше шаблон в Java?