gpt4 book ai didi

java泛型和集合赋值

转载 作者:行者123 更新时间:2023-12-03 20:56:32 24 4
gpt4 key购买 nike

如果我有这个类:

class Foo<T> implements SomeInterface
{
final private List<T> list = new ArrayList<T>();
final private Class<? extends T> runtimeClass;

public Foo(Class<? extends T> cl) { this.runtimeClass = cl; }

// method override from SomeInterface
@Override public boolean addChild(Object o)
{
// Only add to list if the object is an acceptible type.
if (this.runtimeClass.isInstance(o))
{
list.add( /* ??? how do we cast o to type T??? */ );
}
}

public List<T> getList()
{
return this.list;
} // yes, I know, this isn't safe publishing....
}

我将如何执行从 Object 到类型 T 的运行时转换?

最佳答案

使用这个:

list.add(this.runtimeClass.cast(o))

参见类。 cast()详情

关于java泛型和集合赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1493015/

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