У меня есть две переменные, которые я пытаюсь сравнить, но имена переменных длинны, и я пытаюсь очистить свой код, весь код здесь просто используется в качестве примера ,Использование String для ссылочного значения переменной переменной
То, что я хочу сделать что-то вроде этого:
if(objectOne.objectTwo.variableName1 == objectTwo.objectTwo.variableName1)
if(objectOne.objectTwo.variableName2 == objectTwo.objectTwo.variableName2)
...
и сделать это несколько раз, но каждый раз, когда изменить число в конце строки , но я пытаюсь сделать это следующим образом:
for(int i = 0 ; i < 5 ; ++i) {
String firstString = "objectOne.objectTwo.variableName" + i;
String secondString = "objectTwo.objectTwo.variableName" + i;
if(firstString == secondString)
//more code
}
однако это сравнение строк, и я пытаюсь использовать сами строки в качестве ссылки на различные переменные, есть ли способ сделать это?
EDIT: Я ищу, чтобы очистить код, но главная проблема, с которой я столкнулся, - это если у меня было 100 переменных переменныеNameNumber, мне пришлось бы делать 100 отдельных операторов if, я пытаюсь сделать это простым для цикла, как я увеличиваю имена переменных обновляются
Возможный дубликат [Как сравнить строки в Java?] (http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in -java) –
Похоже, вы действительно должны использовать коллекции или массивы. Наличие нескольких переменных с суффиксом 1, 2, 3, 4 и т. Д. Обычно является запахом кода. –
Кроме того, вы могли бы хотя бы использовать 'Foo a = objectOne.objectTwo; Foo b = objectTwo.objectTwo; ', а затем сравнить' a.variableName1' с 'b.variableName1'. Обратите внимание, что использование общедоступных полей также является запахом кода. –