【发布时间】:2015-03-22 12:24:14
【问题描述】:
我想知道是否可以从 Java 中的字符串中检索变量名,但这可以在 ArrayList 中使用。我已经阅读了 StackOverflow 上关于这样做的无数帖子,例如使用地图,但我不断收到“构造函数 ArrayList(String) 未定义”。我想做的就是:
int first = 1; //These can change between each other, depending on the circumstances,
like second could equal 3.
int second = 2;
int third = 3;
int fourth = 4;
List<String> player1List = new LinkedList<String>(Arrays.asList(player1));
List<String> player2List = new LinkedList<String>(Arrays.asList(player2));
List<String> player3List = new LinkedList<String>(Arrays.asList(player3));
List<String> player4List = new LinkedList<String>(Arrays.asList(player4));
String FirstString = "player" + first + "List";
String SecondString = "player" + second + "List";
String ThirdString = "player" + third + "List";
String FourthString = "player" + fourth + "List";
List<String> fusedPlayer1 = new ArrayList<String>(FirstString);
fusedPlayer1.addAll(FourthString);
List<String> fusedPlayer1 = new ArrayList<String>(SecondString);
fusedPlayer1.addAll(ThirdString);
player1、player2、player3 和 player4 都是字符串。现在,您可能想知道我为什么要这样做,但这只是一个示例,在我的实际程序中,使用这种方法有更好的理由。我是Java的初学者,所以请原谅我缺乏知识...
谢谢!
更新
新代码:
int first = 1; //These can change between each other, depending on the circumstances,
like second could equal 3.
int second = 2;
int third = 3;
int fourth = 4;
List<String> player1List = new LinkedList<String>(Arrays.asList(player1));
List<String> player2List = new LinkedList<String>(Arrays.asList(player2));
List<String> player3List = new LinkedList<String>(Arrays.asList(player3));
List<String> player4List = new LinkedList<String>(Arrays.asList(player4));
String FirstString = "player" + first + "List";
String SecondString = "player" + second + "List";
String ThirdString = "player" + third + "List";
String FourthString = "player" + fourth + "List";
Map<String, String> map = new HashMap<String, String>();
map.put(FirstString, "player" + first + "List");
map.put(SecondString, "player" + second + "List");
map.put(ThirdString, "player" + third + "List");
map.put(FourthString, "player" + fourth + "List");
List<String> fusedPlayer1 = new ArrayList<String>();
fusedPlayer1.add(map.get(FirstString));
fusedPlayer1.add(map.get(FourthString));
List<String> fusedPlayer2 = new ArrayList<String>();
fusedPlayer2.add(map.get(SecondString));
fusedPlayer2.add(map.get(ThirdString));
【问题讨论】:
-
感谢您指出这一点,我一定会修复它。
标签: java arraylist linked-list