Итерация по хэш-карте и изменение значений с помощью отражения - PullRequest
1 голос
/ 16 января 2020

Итак, я кодирую алгоритм гена, и в идеале я начинаю с помещения некоторых переменных с плавающей точкой в ​​хэш-карту. Это будут гены, которые передаются различным объектам.

ie

genes.put("mass", 200);
genes.put("lifespan",0);
genes.put("intelligence",0);
genes.put("dexterity",0);
genes.put("endurance",0);

, позже я хочу, чтобы значения hashmap обновлялись при изменении переменной. Это код, который у меня есть до сих пор;

if(updategenes){

  for ( String key : genes.keySet() ) {
      System.out.println( key );
      try{
     String a = key;
     Field field = a.getClass().getField(key); 
     genes.put(key,field);

     }catch (NoSuchFieldException e) {
     }catch (IllegalAccessException e) {
     }}
  updategenes = false;
}

единственная проблема в том, что он не принимает field как int, хотя это единственный возможный тип, который когда-либо мог быть в поле в то время. Есть предложения?

1 Ответ

0 голосов
/ 16 января 2020
...