gpt4 book ai didi

java - 如何解决有关需要从特定类扩展的类的 `unchecked` Java 警告?

转载 作者:行者123 更新时间:2023-12-02 10:00:48 25 4
gpt4 key购买 nike

在我的 Android Java 应用程序中,我有一个方法:

private <T extends Message> ReturnObject doSomething(Class<T> type) {
// Implementation
}

如您所见,参数type应该扩展类Message

现在,情况就是这样;我将方法 doSomething 称为:

@Override
public void myMethod(Class type){
doSomething(type);
}

请注意,我的方法覆盖了另一个方法。

弹出警告:

[unchecked] unchecked method invocation: method doSomething in class 
Class is applied to given types
required: Class<T>
found: Class
where T is a type-variable:
T extends Message declared in method <T>doSomething(String,Class<T>)

如何解决这个警告?

最佳答案

@Override
public void myMethod(Class type) {
Class<? extends Message> mtype = type.asSubclass(Message.class);
doSomething(mtype);
}

最好是删除非泛型类型不安全的重写方法:

public void myMethod(Class<?> type) {

甚至更好修复基类方法。

关于java - 如何解决有关需要从特定类扩展的类的 `unchecked` Java 警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55651851/

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