StringvarName="S" + "_" +"R"; // This can be S_R , S_W , L_R or L_W StringvarVal=// How do i get value of S_R
Переведено автоматически
Ответ 1
Используйте обычную хэш-карту с именами переменных в качестве строк против их значений. Или используйте EnumMap с перечислениями в качестве ключа и вашим значением в качестве значений. AFAIK, это самое близкое, что вы можете получить при использовании Java. Конечно, вы можете возиться с отражением, но IMO картографический подход намного логичнее.
Ответ 2
Вы можете использовать a Map<String, String> и найти значение по его ключу.
(Вы также можете сделать это с помощью reflection - Constants.class.getField(fieldName) а затем вызвать field.get(null) (null для static). Но это не совсем хороший подход.)
Ответ 3
Если вам действительно необходимо это сделать (а это маловероятно), вам придется использовать Java "reflection" API.