"локальная переменная, определенная во вложенной области видимости, должна быть конечной или фактически конечной"
Она не выходит за пределы области, она говорит, что она не является ни окончательной (потому что она не объявлена окончательной), ни фактически финал (потому что вы увеличиваете его в части обновления для l oop).
Вы можете объявить final int ii = i;
внутри внешнего l oop и использовать ii
вместо i
внутри работоспособного.
Но на самом деле вам, похоже, не нужен i
, кроме как для доступа к arrSplit[i]
. Таким образом, было бы проще использовать расширенный для l oop:
for (SplitType s : arrSplit) {
// Use s in place of arrSplit[i].
}
Как я могу присоединиться к моим темам?
Поместить их в список и затем вызовите join
для каждого элемента по очереди после их запуска.
Но может быть проще использовать что-то вроде параллельных потоков, поэтому вам не нужно управлять потоками или даже расколы, сами.