Используйте Var из For Loop в Java - PullRequest
1 голос
/ 05 апреля 2011

Извините, я действительно новичок в Java, я работаю над проектом друзей.Кажется, я борюсь с этим.Я пытаюсь использовать действительно простой цикл for для перебора нескольких переменных, которые я получаю из другого класса.

for (int i = 0; i < 8; i = i + 1) { // Test and Loop
    myarr.add(anotherclass.SVAR+i);
}

Я не уверен, почему они изначально не были помещены в массив (возможно, потому что к ним проще обращаться как к строкам?).В любом случае они установлены как SVAR0, SVAR1 до SVAR7.Как я могу это сделать?Когда у меня есть SVAR + i, он говорит, что SVAR не определен, что имеет смысл, поскольку это не так.

Спасибо заранее!

Ответы [ 2 ]

4 голосов
/ 05 апреля 2011

Вы не можете динамически создать ссылку на переменную / поле и т. Д., Как это.Компилятору нужна явная ссылка.

Однако вы можете использовать отражение , чтобы получить имя, а затем проанализировать свой объект, чтобы найти это поле и получить значение. Здесь ' простой пример, иллюстрирующий, как вы это сделаете.

Однако я думаю, что лучшая структура объекта / поля может быть более подходящей (в зависимости от вашего варианта использования и т. Д.)

1 голос
/ 05 апреля 2011

Замените переменные массивом или разверните цикл. То, что вы хотите, возможно, но только за счет интроспекции виртуальной машины.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...