用Java创建Set数组

问题描述

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>>();

上面的代码创建一个空ArrayListSet<Recipient>对象。您仍然必须实例化Set<Recipient>放入的每个对象ArrayList

解决方法

我是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的通用数组”

怎么了 ?

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”