我有一些类似于以下代码段的 Java 代码(该示例是从原始代码简化的)。将出现一条黄色曲线和警告消息,如下面的代码注释所示。消息是:“这个方法调用是不安全的,因为传递的参数可能是错误的类型。”
abstract class Seek<T> {
abstract <S> Seek<S> seek(S... o);
abstract <T2> void map(Func<T,T2> call);
interface Func<I,O> {
public O call(I x);
}
public <X2> void go(Func<T,X2> c, T some) {
seek(some).map(c); // <- yellow squiggle here on 'c'
}
}
为什么会出现警告?解决此问题的最佳方法是什么?
注意:我使用的是 Android 的 AIDE 开发环境。
编辑:在阅读了@tsolakp 和@LouisWasserman 的答案后,我修复了代码中的一个错误。