通过 ArrayList 是否可以传递多种数据类型?如果是那么需要一个代码来演示一个案例

Through ArrayList is it possible to pass multiple data type? If yes then need a code to demonstrate a case

我有多种数据类型,例如。 {10, 12.5, 20, 50, "abcd", xyz} 所以,我想通过 ArrayList 传递这些数据类型,然后只过滤整数值。

如果这可以做到,那么你们中的任何一个都可以提供一个示例代码来演示它。 如果不是,那是什么原因。

提前致谢

所以,我假设这可以通过创建一个数组列表对象来完成。 ArrayList list = new ArrayList <>(); 然后可以使用 list.add();

添加所有这些值

但是在添加值后我们如何过滤整数是我卡住的地方

你的问题的第一部分是正确的,只需创建一个ArrayList<Object>

然后,试试这个:

ArrayList<Integer> intList = new ArrayList<Integer>();
for(Object o : list){
 try{
    intList.add(Integer.parseInt(o.toString()))
 }catch(NumberFormatException e) {
    //optional code
 }
}

好吧,您确实必须创建一个同时接受 StringInteger 的列表。唯一的方法是确实创建一个 List<Object>.

为了检索整数值,您可以只测试包含的对象是否属于特定类型:

for (var element : list) {
    if (element instanceof Integer) {
        // Do something with the value
    }
}

或使用流:

list.stream()
    .filter(element -> element instanceof Integer)
    // or .filter(Integer.class::isInstance)
    .forEach(element -> {
        // Do something with the value
    });
 List<Object> list= new ArrayList<>();
    list.add(1);// interger
    list.add(11.00);// Double
    list.add("Strings");//String
    System.out.println(list);