Боюсь, что так во мне, хотя я бы разделил его, чтобы избежать этого волосатого вкладыша:
Integer val = (Integer)v.elementAt(arr[x][y]);
int newVal = val.intValue() + i;
v.setElementAt(new Integer(newVal), arr[x][y]);
Материал стал намного лучше с автобоксом и дженериками, но они пришли в Java 5, и J2ME - это в основном раздетая версия Java 1.3, если я не был дезинформирован. Вот как это выглядит в Java 5 +:
v.setElementAt(arr[x][y], v.get(arr[x][y]) + i);
Все еще более многословно, чем C ++, но по крайней мере без приведения. Я понимаю, что было нежелание добавлять дженерики и тому подобное в Java, поскольку обычному программисту было бы «слишком сложно» понять [Требуется цитата] . И в итоге мы получили нечитаемый код, пока .Net не получил дженерики и Sun не запрыгнула на подножку.
В любом случае, я согласен, что структуру коллекций было непросто использовать перед генериками / боксами, но я надеюсь, что по крайней мере вам понравится не отлаживать сломанные указатели и поврежденную память.