Java 使用数组创建对象名

Java 使用数组创建对象名,java,arrays,arraylist,Java,Arrays,Arraylist,我想使用数组创建对象名。我怎么做 例如: String dizi ={"person1","person2","person3"}; Person dizi[0] = new Person(); 不能将数组中存储的对象类型从字符串更改为Person。相反,您将需要两个单独的数组,并且假设您有一个Person(String)构造函数,在第一个数组上循环以填充第二个数组: String[] names = {"person1","person2","person3"}; Person[] pers

我想使用数组创建对象名。我怎么做

例如:

String dizi ={"person1","person2","person3"};
Person dizi[0] = new Person();

不能将数组中存储的对象类型从字符串更改为Person。相反,您将需要两个单独的数组,并且假设您有一个Person(String)构造函数,在第一个数组上循环以填充第二个数组:

String[] names = {"person1","person2","person3"};
Person[] persons = new Person[3];
for (int i = 0; i < 3; i++)
    persons[i] = new Person(names[i]);
String[]name={“person1”、“person2”、“person3”};
人员[]人员=新人员[3];
对于(int i=0;i<3;i++)
人员[i]=新人员(姓名[i]);

您尝试使用的技术适用于某些语言,尤其是解释性语言。它使用语言符号表作为映射

在Java中,您可以构建自己的地图:

Map<String,Person> myMap = new HashMap<String, Person>();
myMap.put(dizi[0], new Person());

格式化代码(在代码行前添加4个空格)。我会编辑它,但我有5个编辑在队列中,所以我不能担心,不可能。给Person对象一个name参数。我想,首先你应该读一些关于OOP的东西。稍微澄清一下你的问题。你的代码有很多问题。举几个例子:
String dizi
定义单个字符串,而不是数组
Person-dizi[0]
重新定义变量(在同一范围内不可能),看起来像是数组声明和元素访问。我猜你想要
Person[]dizi=新人[3];dizi[0]=新人(“人1”)person1
作为变量名,而不是改变它所指的内容。看起来确实如此。当然不能在Java中完成。如果您有一个Person(字符串名)构造函数,上面的代码将起作用,并将填充Person对象数组。如果您打算创建“Person person1”变量,它将不会创建该变量-这在Java中是不可能的。@ErenArıcı否,它是一个映射,而不是列表。
myMap.get(dizi[0])