我有一个接受ArrayList<String>
的构造函数,但希望调用super
期待String[]
数组。
我尝试过以下操作,但会导致类异常[Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
public cool(ArrayList<String> s) {
super((String[]) s.toArray());
}
我希望能够通过cool
和ArrayList<String>
由于
编辑:我已经尝试了最近使用
的建议super(s.toArray(new String[s.size()]));
但现在我得到以下例外:
entity must have a no-arg constructor.; nested exception is java.lang.IllegalArgumentException: : entity must have a no-arg constructor.
答案 0 :(得分:13)
试试这个:
super(s.toArray(new String[s.size()]));
以上是将ArrayList
转换为数组的类型安全方式,它不是真正的强制转换,只是转换。
关于报告的新错误 - 您必须在错误中提到的实体中声明一个无参数构造函数。