我是Java的新手,所以我可能在这里做错了,我想创建一个Sets数组,我得到一个错误(来自Eclipse).我有一节课:
public class Recipient
{
String name;
String phoneNumber;
public Recipient(String nameToSet, String phoneNumberToSet)
{
name = nameToSet;
phoneNumber = phoneNumberToSet;
}
void setName(String nameToSet)
{
name = nameToSet;
}
void setPhoneNumber(String phoneNumberToSet)
{
phoneNumber = phoneNumberToSet;
}
String getName()
{
return name;
}
String getPhoneNumber()
{
return phoneNumber;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个数组:
Set<Recipient>[] groupMembers = new TreeSet<Recipient>[100];
Run Code Online (Sandbox Code Playgroud)
我得到的错误是"无法创建TreeSet的通用数组"
怎么了 ?
Man*_*qui 17
来自http://www.ibm.com/developerworks/java/library/j-jtp01255/index.html:
你不能实例化一个泛型类型的数组(
new List<String>[3]
是非法的),除非type参数是一个无界的通配符(new List<?>[3]
是合法的).
您可以使用以下命令而不是使用数组ArrayList
:
List<Set<Recipient>> groupMembers = new ArrayList<Set<Recipient>>();
Run Code Online (Sandbox Code Playgroud)
上面的代码创建一个空ArrayList
的Set<Recipient>
对象.你仍然需要实例化Set<Recipient>
你放入的每个对象ArrayList
.