我是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; } }
我正在尝试创建一个数组:
Set<Recipient>[] groupMembers = new TreeSet<Recipient>[100];
我得到的错误是“无法创建TreeSet的通用数组”
怎么了 ?
从http://www.ibm.com/developerworks/java/library/j-jtp01255/index.html:
您不能实例化泛型类型的数组(new List<String>[3]非法),除非type参数是无界通配符(new List<?>[3]合法)。
new List<String>[3]
new List<?>[3]
除了使用数组,还可以使用ArrayList:
ArrayList
List<Set<Recipient>> groupMembers = new ArrayList<Set<Recipient>>();
上面的代码创建一个空ArrayList的Set<Recipient>对象。您仍然必须实例化Set<Recipient>放入的每个对象ArrayList。
Set<Recipient>