gpt4 book ai didi

java - 实例化特定 Class 时正确处理转换

转载 作者:行者123 更新时间:2023-12-01 17:24:53 25 4
gpt4 key购买 nike

我有一个看起来(原则上)像这样的函数

public <T extends Listener> T createListener(Class<T> clazz) {
if (clazz == SpecificListener.class) {
return (T) new SpecificListener();
}
// more instantiations here
}

SpecificListener 是 Listener 接口(interface)的实现。此代码有效,但 return 语句对 T 进行了未经检查的转换。

有没有更好的方法来编写这个而不进行未经检查的转换?

最佳答案

检查的转换将是clazz.cast(new SpecificListener())

关于java - 实例化特定 Class<T> 时正确处理转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15768888/

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