gpt4 book ai didi

java - 限制 Java 中的类型以用于列表

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:01:42 25 4
gpt4 key购买 nike

我怎样才能传递 List<T>我没有向方法声明一组特定的允许类型。

例如将类型限制为整数、 boolean 值和 String :

// Pseudo code
public void method(List<Integer OR Boolean OR String> myList);

如果我使用 List<Object>我可以将所有内容都放入该列表中:

public void method(List<Object> myList);

如果我使用 List,我可以放置 Parent 的所有实例及其子类到该列表中:

public void method(List<Parent> myList);

如果我是声明这些子类 (AllowedTypeA extends Parent) 的人,那就足够了。但是,如果我不是我想使用的类的所有者(我不能使 Integer 扩展 Parent ),我该怎么办?

最佳答案

最好的办法是将这个混合列表包装到一个类中,并提供方法来添加您想要允许的内容:

class WrappedMix {
private List<Object> oddsAndEnds = ...

public void add( Integer el ){ oddsAndEnds.add( el ); }
public void add( Boolean el ){ oddsAndEnds.add( el ); }
public void add( String el ){ oddsAndEnds.add( el ); }
}

或者通过适当的覆盖(和重载)扩展 ArrayList,

虽然我很好奇你为什么想要这样一个列表 - 它的处理不方便。

关于java - 限制 Java 中的类型以用于列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27723313/

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