我有要与班级[2]一起使用的班级[1]。但是,MyIdentityMapper
的泛型是错误的。我想创建一个通用类,当我使用它时(MyIdentityMapper
),我传递正确的类型。我应该如何在MyIdentityMapper
中使用泛型?
[1]映射器类:
public class Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT> {...}
[2]身分类别:
public class MyIdentityMapper extends Mapper<K,V,K,V> {
public void map(K key, V value, Context context) throws IOException, InterruptedException {
context.write(key, value);
}
}
最佳答案
您需要在K
上声明您的V
和MyIdentityMapper
类型参数,以便可以在该类的其余部分中引用它们。
public class MyIdentityMapper<K, V> // ... rest doesn't change