gpt4 book ai didi

java - 反射 - 将接口(interface)实现为参数的类

转载 作者:行者123 更新时间:2023-11-29 03:28:52 25 4
gpt4 key购买 nike

我想传递一个 Class 作为参数并返回这个类的一个实例。我需要确保该类实现了 ISomeInterface。我知道我可以通过反射(reflection)来做到这一点:

Object get(Class theClass) {
return theClass.newInstance();
}

我不知道的是如何确保theClass实现了ISomeInterface

ISomeInterface get(Class<? extends ISomeInterface> theClass) {...}
// errrr... you know what i mean?

我不喜欢生产中的反射,但它对测试来说是不是很困难

相关:

最佳答案

使用isAssignableFrom

ISomeInterface get(Class<? extends ISomeInterface> theClass) {
if (ISomeInterface.class.isAssignableFrom(theClass)) {
return theClass.newInstance();
} else { /* throw exception or whatever */ }
}

关于java - 反射 - 将接口(interface)实现为参数的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19489272/

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