使用String变量引用ArrayList

时间:2014-05-05 18:28:06

标签: java

是否可以使用String来引用数组?

for(Entry<String, GameInformation> gameSet : GameInfoPuller.gameMap.entrySet())

  {
     //For each entry put the games key into key and the value into value.
     String key = gameSet.getKey();
     GameInformation value = gameSet.getValue();

     String genreSelect = genreSelect(value);

     genreSelect.add(Item here); <---- is there a way to do this?
  } 


private static String genreSelect(GameInformation value)
{
  String genreValue = "";

//Check each entry for the value of its genre and for each genre put into the corresponding category.

  if(value.getGameGenre().equalsIgnoreCase("Fantasy"))
  {
     genreValue = "fantasy";
  }
  else if(value.getGameGenre().equalsIgnoreCase("Historical"))
  {
      genreValue = "historical";
  }
  else if(value.getGameGenre().equalsIgnoreCase("Sci-Fi"))
  {
        genreValue = "sciFi";
  }
  else if(value.getGameGenre().equalsIgnoreCase("Horror"))
  {
        genreValue = "horror";
  }
  else if(value.getGameGenre().equalsIgnoreCase("Sports"))
  {
        genreValue = "sports";
  }
  else if(value.getGameGenre().equalsIgnoreCase("Real Life"))
  {
        genreValue = "realLife";
  }
  else if(value.getGameGenre().equalsIgnoreCase("Super-Hero"))
  {
        genreValue = "superHero";
  }          
  else
  {
        System.out.println("Game: " + " does not have a genre.");
  }
return genreValue;
}

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

不,“String”不能是对“ArrayList”的引用,因为它们是不兼容的类型。

但是,您可以使用某些技术将字符串映射到“ArrayList”实例。例如:

  // Initialization of Map Collection.
  Map<String, ArrayList> stringToArrayListMap = new HashMap<>();
  stringToArrayListMap.put("key for the first array list", new ArrayList());

你也可以使用反射,但我不会进入,因为这是一个黑客,并要求它可能是一个设计气味的迹象。

答案 1 :(得分:0)

不,这是不可能的。
您可以将您的流派存储为List<String>的第一项,然后根据需要将其他项添加到该列表中。