我是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]
合法)。
除了使用数组,还可以使用ArrayList
:
List<Set<Recipient>> groupMembers = new ArrayList<Set<Recipient>>();
上面的代码创建一个空ArrayList
的Set<Recipient>
对象。您仍然必须实例化Set<Recipient>
放入的每个对象ArrayList
。
Swift 5.x Set 定义、创建 1. 创建Set 1.1 使用初始化器语法来创建一个确定类型的空Set let letters = Set<Character>() 1.2 使用数组字面量创建Set var letters: Set<String> = ["Math", "English", "History"] 注: 如果不指定类型为Set, 默认初始化的是数组 2. Set 类型的
问题内容: 该代码似乎不起作用,它将抛出异常: java.lang.ClassCastException:[Ljava.lang.Object; 无法转换为… 有人可以告诉我如何创建具有通用类型的数组吗?谢谢。 问题答案: 您不能:必须将类作为参数传递:
问题内容: 我是Java的新手,当时我用Java创建了一系列对象。 例如,我有A类 但这只是创建指向A的指针(引用),而不是4个对象。它是否正确?我看到当我尝试访问创建的对象中的函数/变量时,出现空指针异常。为了能够操作/访问对象,我必须这样做 这是正确的还是我做错了什么?如果这是正确的,那真的很奇怪。 编辑:我觉得这很奇怪,因为在C ++中,你只是说新的A [4],它创建了四个对象。 问题答案:
我正在编写一个java代码,计算一个数组的平均值,它很好地发挥了作用,但我想把它修改成一个2D数组(二维数组)。 任何帮助都将非常感谢,因为我不太擅长2D数组。
问题内容: 我正在尝试在java中创建一个通用数组-在其中我遇到了一些问题-我如何制作一个大小为6且里面有一个byte []和一个Integer的元组数组? 谢谢 问题答案: 好吧,您可以使用原始类型: 或者,您可以进行未经检查的转换: 或者,您也可以使用列表: 我建议改用列表。 在前两个选项之间进行选择,我建议您选择未经检查的转换,因为它将为您提供编译时检查。但是,如果将其他类型的元组放入其中,
问题内容: 我正在尝试做这样的事情: myObject是一个类。我收到此错误:-通用数组创建(箭头指向new。) 问题答案: 你不能有泛型类的数组。Java根本不支持它。 你应该考虑使用集合而不是数组。例如, 另一个“解决方法”是创建这样的辅助类 然后创建一个数组MyObjectArrayList。 这是一篇很好的文章,说明了为什么在语言中不允许这样做。本文提供了以下示例,说明如果允许的话可能发生