我有一个接收字符串数组的方法,我需要创建具有适当名称的对象。
例如:
public class temp {
public static void main(String[] args){
String[] a=new String[3];
a[0]="first";
a[1]="second";
a[2]="third";
createObjects(a);
}
public static void createObjects(String[] s)
{
//I want to have integers with same names
int s[0],s[1],s[2];
}
}
如果我收到(“一个”,“两个”),我必须创建:
Object one;
Object two;
如果我收到(“男孩”,“女孩”),我必须创建:
Object boy;
Object girl;
任何帮助都将不胜感激。
答案 0 :(得分:7)
在java中无法做到这一点。您可以创建Map
,其中键是字符串,值是对象。
答案 1 :(得分:0)
首先创建Map
,其中包含密钥作为Integers
的字符串表示。
public class Temp {
static Map<String, Integer> lMap;
static {
lMap = new HashMap<String, Integer>();
lMap.put("first", 1);
lMap.put("second", 2);
lMap.put("third", 3);
}
public static void main(String[] args) {
Map<String, Integer> lMap = new HashMap<String, Integer>();
String[] a = new String[3];
a[0] = "first";
a[1] = "second";
a[2] = "third";
Integer[] iArray=createObjects(a);
for(Integer i:iArray){
System.out.println(i);
}
}
public static Integer[] createObjects(String[] s) {
// I want to have integers with same names
Integer[] number = new Integer[s.length];
for (int i = 0; i < s.length; i++) {
number[i] = lMap.get(s[i]);
}
return number;
}
}