不使用Arraylist创建通用数组

时间:2014-10-05 04:55:30

标签: java arrays generics arraylist

为了完成我的一个Java任务,我必须做一些看似不可能的事情。

我必须创建一个接收不同内容并将其插入数组的方法。我们不一定知道放入数组的内容,因此数组必须能够接受StringDoubleInteger等...

当然,显而易见的解决方案是使用ArrayList<E>(即通用数组)。然而,这部分是问题的复杂性。我们不能使用ArrayList,只能使用常规数组。据我所知,在创建数组时,必须声明其摄入值。这让我相信这个任务是不可能的(但我怀疑老师会给我一个不可能的任务)。

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

您始终可以使用Object - Object[]的数组。

Object[] objects = new Object[2];
objects[0] = "ABC";
objects[1] = Integer.valueOf("15");

答案 1 :(得分:0)

您确定需要通用数组或可以容纳任何内容的数组吗?

如果是前者,那么创建一个类作为Object[] array的包装器,并在获取数组元素时使用<T>泛型用于类型转换,这类似于{的实现{1}}课程。如果是后者,请直接使用ArrayList