如何在ArrayList中添加多个声明泛型的对象?

时间:2013-11-29 06:06:13

标签: java

怎么做?

以下是尝试过的代码。


[试过的代码]

package com.company;

import java.util.ArrayList;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        ArrayList<String, Integer, Date> myArray = new ArrayList<String, Integer, Date>();

        myArray.add("FIRST");
        myArray.add("SECOND");
        myArray.add("THIRD");

        // add multiple object
        myArray.add(new Integer(10));

        // add multiple object
        myArray.add(new Date());

    }
}

2 个答案:

答案 0 :(得分:1)

是的,但不推荐。

ArrayList<Object> myArray = new ArrayList<Object>();

Object作为一种类型,它接受所有类型。

ArrayList<Object> myArray = new ArrayList<Object>();
myArray.add("FIRST");   //accepted
myArray.add(new Integer(10));  //accepted
myArray.add(new Date());  //accepted

因此,在获取的同时,您需要处理Object您正在回归的问题。

但是,好的建议是为每种类型选择单独的列表。

答案 1 :(得分:0)

以下行甚至不会编译。

ArrayList<String, Integer, Date> myArray = new ArrayList<String, Integer, Date>();

您尝试实现的目标可以使用

完成
ArrayList<Object> myArray = new ArrayList<>(); // Object type

但这根本不是推荐的选择。在从ArrayList中取回值时,您需要手动处理不同类型的对象,这也非常麻烦。

因此,始终创建您要使用的特定类型的ArrayList

ArrayList<String> myString = new ArrayList<>(); // For strings
ArrayList<Date> myDates = new ArrayList<>(); // For Date