如何将泛型(T)的ArrayList转换为直数组?

时间:2018-06-05 14:49:36

标签: java generics arraylist

首次使用泛型。

我已经成功创建了一个通用对象的ArrayList,我想将它转换为常规数组T[]

通常情况下,这就像

String[] x = (String[])myStrings.toArray(new String[0])

但是,在这种情况下,用T替换String不起作用。即。

return (T[]) ret.toArray(T[0]);

这是我的方法的完整代码,不确定它是否相关: https://puu.sh/AzxKD/f525bdbe77.png

1 个答案:

答案 0 :(得分:1)

对于泛型类型变量T,您无法为Object[]创建数组。 Java不支持它。

您可以将T[]数组投射到return (T[]) ret.toArray(); ,并且在大多数情况下都可以。

在这种情况下,那将是:

<jsp:useBean id="model" class="com.some.MyModel"/>
<body>
   Hello ${model.name}!
</body>