我有一个这样定义的接口:
public interface AdditionalProcessing<Pre, Post> {
public void postProcess(Pre pre, Post post);
}
我已经决定要创建一个NoAdditionalProcessing
扩展它的类。这是一个无操作,不会对其实施做任何事情。这是我的编译实现:
public class NoAdditionalProcessing implements AdditionalProcessing {
@Override
public void postProcess(Object o, Object o2) {
}
}
问题是,当我将它传递给这样的方法签名时:
public <I, O> O map(I source, Class<O> destinationClass, AdditionalProcessing<I, O> additionalProcessing) throws MappingException
它给了我一个关于方法调用的警告:
未经检查的分配: ...NoAdditionalProcessing 到 ...AdditionalProcessing
这些...
是我排除的包名称。有没有办法摆脱这个警告?我基本上想定义NoAdditionalProcessing
,所以它说,“我会接受任何东西,这无关紧要,没关系”。
我试过这个:
public class NoAdditionalProcessing implements AdditionalProcessing<Object, Object>
但这给了我一个错误,因为它要求我传入Object
. 我试过了
public class NoAdditionalProcessing implements AdditionalProcessing<? extends Object, ? extends Object>
但这不编译。