java如何将对象[]转换为特定类型数组
我认为我无法转换以下内容:
List<B> c = new ArrayList<B>();
c.add(***);
object[] a = c.toArray();
B[] b = (B[])a; //How to cast a back to B[]?
如何在Java中实现这一点
你可以在下面搜索框中键入要查询的问题!
我认为我无法转换以下内容:
List<B> c = new ArrayList<B>();
c.add(***);
object[] a = c.toArray();
B[] b = (B[])a; //How to cast a back to B[]?
如何在Java中实现这一点
# 1 楼答案
你不能通过石膏来做这件事。你必须复制数据
# 2 楼答案
其他答案显示了如果您真的需要转换
Object[]
时该怎么做-但是有一个更好的方法。将代码更改为以以下内容开头:或:
# 3 楼答案
@Jon Skeet的answer是正确的,但以下是Intellij IDEA检查信息中的一些上下文:
# 4 楼答案
如果
a
的每个元素都是B
类型,则有两个选项(如果不是,则需要首先解释发生了什么):此外,这仅在B是实类型而不是泛型参数时才有效