我可以在Java中创建不同类型的ArrayList

时间:2013-11-08 09:01:33

标签: java arraylist

我需要创建一个ArrayList并用BigDecimalsDate元素填充它,我该怎么办?

我应该在ArrayList中创建一个包含我需要的所有类型的新类,然后将其用作类型吗?

5 个答案:

答案 0 :(得分:6)

知道你想要达到的目标会很有趣。

如果BigDecimalDate 具有逻辑关系,例如就像银行交易的金额和它的放置日期一样,你应该考虑引入一个将两者结合在一起的新类(希望名为BankTransaction)。您可以将此类的对象放在List

如果BigDecimalDate 彼此无关,您为什么要将它们存储在同一个列表中?在这种情况下,您会混淆其他开发人员,因为他们必须查看解释List的代码,并且由于列表的类型,他们无法猜测它的含义。

尽管如此,您可以使用List<Object>方法,但这不是像List<BankTransaction>这样的自解释代码。

答案 1 :(得分:1)

只需使用List<Object>

即可
List<Object> list = new ArrayList<Object>();

虽然这种方式正常并适合您的问题,但您应该明确检查您的要求,以及是否确实需要将DateBigDecimal添加到同一List,因此是一个好习惯。

答案 2 :(得分:1)

使用如下代码:

List<Object> list2 = new ArrayList<Object>();
list2.add(new BigDecimal(3242));
list2.add(new Date());
for (Object object : list2) {
  if(object instanceof Date) {
    // your logic on date
  } else if (object instanceof BigDecimal) {
    // your logic on BigDecimal
  }
}

答案 3 :(得分:0)

Java中的所有类都继承自基类Object类,因此您只需创建一个接受Object个实例的ArrayList,并在其中添加您喜欢的任何内容:

List<Object> list = new ArrayList<Object>();
list.add(new Date()); // adds a Date instance
list.add(new BigDecimal()); // adds a BigDecimal

答案 4 :(得分:0)

 ArrayList<Object> list = new ArrayList<Object>()

试试这个。使用java的Object类