是否可以使用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;
}
感谢您的帮助!
答案 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>
的第一项,然后根据需要将其他项添加到该列表中。