gpt4 book ai didi

java - 打印输出任何类型的 ArrayList 元素的通用方法

转载 作者:行者123 更新时间:2023-12-02 06:09:42 29 4
gpt4 key购买 nike

出于练习目的,我尝试编写一个通用方法,通过调用 .toString() 方法来显示 ArrayList 的元素。让我们假设 .toString() 做了我想要它做的事情。

我在下面提出了这个解决方案,其中我的输入 ArrayList 的类型为 Object:

public void printArralyList(ArrayList<Object> list){
for(Object o:list){
System.out.print(o.toString());
}
System.out.println();
}

但是这是行不通的!

printArralyList(new ArrayList<Integer>(Arrays.asList(1,2,3,5,8,13,21)));

我得到的编译错误是

    The method printArralyList(ArrayList<Object>) is not applicable
for the arguments (ArrayList<Integer>

我该如何解决这个问题?

最佳答案

ArrayList<Integer>不是ArrayList<Object> ,尽管 IntegerObject .

您的方法的参数中需要一个通配符,因为您不关心泛型类型参数是什么类型。

public void printArralyList(ArrayList<?> list){

顺便说一句,您可以让您的方法采用 List而不是ArrayList ,并且不需要包装 Arrays.asList 的返回值在 ArrayList :

public void printArralyList(List<?> list){

printArralyList(Arrays.asList(1,2,3,5,8,13,21));

可以。

关于java - 打印输出任何类型的 ArrayList 元素的通用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21996068/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com