java - 如何正确施法?
问题描述
protected final Class<? extends MyBaseClass>[] getClasses(){
return new Class[]{
MyClass1.class,
MyClass2.class
};
}
现在,作为开发人员,我知道MyClass1
和MyClass2
extends MyBaseClass
,但是我该如何正确地做到这一点,以便 IDE/编译器不会发出警告?
解决方案
如果不抑制警告,您将无法到达那里。您要么必须处理阻止创建泛型类型数组的编译时错误,要么处理当前警告。
最接近的替代方法是让您的方法返回一个集合类型:
protected final List<Class<? extends MyBaseClass>> getClasses() {
return Arrays.asList(MyClass1.class, MyClass2.class);
}
推荐阅读
- c# - 可以接收委托并在每个委托中每 N 次调用一次的对象
- postgresql - 使用 Grafanas 变量的时间范围图
- r - 计算根据同一数据帧中的其他两个变量更改了变量的多少值
- mysql - 优化每位客户从销售表中购买的精选产品详细信息
- javascript - 为 Android 和 iOS 显示不同的 HTML
- keyboard - 开发电视应用程序
- sql - CAST(CURRENT_TIMESTAMP AS TIME)
- oracle - 预期以下情况之一时遇到符号“DROP”
- django - 如何在 django(unittest)中存储来自多个 TestCases(到一个文件)的结果?
- javascript - 如何使用 Javascript 更改文本颜色