我想创建一个创建ArrayLists的方法,并在现有ArrayList中的元素之后命名每个ArrayLists。
就像,ArrayList
原作是(abc, def, ghi, jkl)
我希望该方法创建四个ArrayLists,名为abc,def,ghi和jkl。
如何将这些字符串(abc,def)拉出来并使用它们来命名新的ArrayLists?
我试过了:
ArrayList original.get(0) = new ArrayList();
但Eclipse说misplaced construct
我试过了:
String newName = original.get(count);
ArrayList (newName) = new ArrayList();
但它说the left hand side of of an assignment must be a variable
如果我从括号中取出newName:
String newName = original.get(count);
ArrayList newName = new ArrayList();
它说duplicate local variable newName
答案 0 :(得分:6)
在Java中,您无法根据另一个变量的值来命名变量。编译器必须在编译时知道所有变量的名称。但是,original.get(0)
等方法的返回值和变量值只能在运行时获知。
话虽如此,您可以使用Map<String, List<String>>
类来执行您尝试使用动态变量名称执行的操作。您只需将ArrayList
添加到Map
“名称”的索引String
。