2

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

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

4

5 回答 5

6

知道您尝试实现的目标会很有趣。

如果BigDecimals 和Dates 确实有逻辑关系,例如银行交易的金额和它的放置日期,那么您应该考虑引入一个将两者结合在一起的新类(希望命名为 BankTransaction)。您可以将此类的对象放在List.

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

不过,您可以使用该方法,但这不会是例如List<Object>不言自明的代码。List<BankTransaction>

于 2013-11-08T09:22:18.330 回答
1

只需使用一个List<Object>

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

尽管这种方式可以正常工作并且适合您的问题,但您应该明确检查您的要求以及是否确实需要将Dates 和BigDecimals 添加到相同的 s 中List,因为这不是一个好习惯。

于 2013-11-08T09:02:51.917 回答
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
  }
}
于 2013-11-08T09:08:30.393 回答
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
于 2013-11-08T09:03:40.887 回答
0
 ArrayList<Object> list = new ArrayList<Object>()

尝试这个。使用 java 的 Object 类

于 2013-11-08T09:03:45.010 回答