当前位置: 首页 > 知识库问答 >
问题:

将对象的ArrayList转换为父对象的ArrayList

乐正德华
2023-03-14

我有档案卡。java和Util。java,我不允许修改它。出于我自己的目的,我创建了一个类Card2,它扩展了Card,并添加了一个equals()方法和一个hashcode()方法。Util类包含一个采用ArrayList的方法

我的理解是,在这种情况下,Card2与Card有一种“is-a”关系,因此我认为应该有一种方法来转换ArrayList

但我不确定如何进行这种转换。我试过了(ArrayList


共有3个答案

戈博易
2023-03-14
    ArrayList<Card2> card2s = new ArrayList<>();

    ArrayList<Card> cards = (ArrayList<Card>)card2s.stream().map(card2 -> {
        Card card = new Card();
        //your logic to take data from card2 variable and set it to the new Card2 object:
        //e.g. card.setType(card2.getType());
        return card;
    }).collect(Collectors.toList());
贺景山
2023-03-14

如果您可以访问该util方法,则可以在输入参数中使用通配符,如下所述...

https://docs.oracle.com/javase/tutorial/extra/generics/wildcards.html

“这里有一个很小但非常重要的区别:我们将类型列表替换为列表

如果您没有该方法的访问权,您仍然可以在列表中强制转换项。Java流api示例:

是否可以在Java8中施放Stream?

柴磊
2023-03-14

给出卡片列表2:

ArrayList<Card2> card2s;

这样做:

ArrayList<Card> cards = new ArrayList<>(card2s);

构造函数接受集合

 类似资料:
  • 问题内容: Java中是否有命令将ArrayList转换为对象数组。我知道如何将每个对象从arrayList复制到对象数组,但是我想知道是否会自动完成。 我想要这样的东西: 问题答案: 像标准Collection.toArray(T [])之 类的东西应该可以满足您的需求(请注意实现): 附带说明一下,您应该考虑将定义定义为类型,而不是,这样可以避免某些特定于实现的定义,而这些定义可能并不真正适用

  • 问题内容: 我有一个ArrayList,随着更多用户加入聊天室而变得越来越大。主JFrame有一个列表框,显示所有当前连接的用户。但是当我尝试将arraylist传递到jframe列表中时,出现以下错误: “ JList类型的方法setListData(Object [])不适用于参数(ArrayList)” 谢谢你的时间。 问题答案: 您可以简单地使用 或者,您也可以编写自己的,例如,由来支持…

  • 例如:Date值为:“dateCollected”:fri Jul 07 00:00:00 IST 1989, 但它只服用星期五而不是整个日期。

  • 问题内容: 我有一个JSON对象,我将其转换为并在此处进行一些处理。稍后,我想转换相同的缓冲区数据以转换为有效的JSON对象。 我正在研究Node V6.9.1 下面是我尝试过的代码,但是当我转换回JSON却无法打开该对象时遇到了。 所以我尝试使用检查方式打印整个对象 如果我尝试像数组一样读取它 我也尝试解析它抛出 我需要将其视为我创建的真实对象(我的意思是像上面声明的那样)。 请帮忙.. 问题答

  • 我正试图将下面的json转换成java bean,需要你的帮助 Sort.json 我的豆子看起来像 我的测试课是 我看到的错误是 请建议:

  • 我有字符串值 是否有任何可用的函数或有效的方法将这个JSON字符串转换成Java DateTime对象,而不是一个接一个地读取字段并构建我的对象? 谢谢