Java 为Mapreduce使用WritableCompariable时出现警告

Java 为Mapreduce使用WritableCompariable时出现警告,java,mapreduce,Java,Mapreduce,我正在做一个map reduce项目,我正在努力寻找利润最高的前10家商店。我正在使用二级排序来进行排序,但是,我有一个不断出现的警告。我对MapReduce和Java相当陌生,所以我希望有人能帮我解决这个问题。警告针对代码行: public int compare(WritableComparable wc1, WritableComparable wc2) 警告说“WritableComparable是原始类型。对泛型类型WritableComparable的引用应该参数化” 这是二次排序

我正在做一个map reduce项目,我正在努力寻找利润最高的前10家商店。我正在使用二级排序来进行排序,但是,我有一个不断出现的警告。我对MapReduce和Java相当陌生,所以我希望有人能帮我解决这个问题。警告针对代码行:

public int compare(WritableComparable wc1, WritableComparable wc2)
警告说“WritableComparable是原始类型。对泛型类型WritableComparable的引用应该参数化”

这是二次排序的全部代码:

import org.apache.hadoop.io.DoubleWritable;
import org.apache.hadoop.io.WritableComparable;
import org.apache.hadoop.io.WritableComparator;

public class CountComparator extends WritableComparator
{
    protected CountComparator()
    {
        super(DoubleWritable.class, true);
    }
    
    @Override
    public int compare(WritableComparable wc1, WritableComparable wc2)
    {
        DoubleWritable pair1 = (DoubleWritable) wc1;
        DoubleWritable pair2 = (DoubleWritable) wc2;
        
        //int result = pair1.get() < pair2.get() ? 1 : pair1.get() == pair2.get() ? 0 : -1;
        
        if(pair1.get() < pair2.get())
        {
            return 1;
        }
        else if (pair1.get() == pair2.get())
        {
            return 0;
        }
        else
        {
            return -1;
        }
        
        //return result;
        
    }

}
import org.apache.hadoop.io.DoubleWritable;
导入org.apache.hadoop.io.WritableComparable;
导入org.apache.hadoop.io.WritableComparator;
公共类CountComparator扩展了WritableComparator
{
受保护计数比较器()
{
super(DoubleWritable.class,true);
}
@凌驾
公共整数比较(可写可比wc1、可写可比wc2)
{
双可写对1=(双可写)wc1;
双可写pair2=(双可写)wc2;
//int result=pair1.get()

正如我提到的,我对Java和map reduce是新手,所以我不确定它的含义以及如何修复它。如果有人能帮助我,我将不胜感激。

可能只是一个简单的Java案例,需要显式地给出正确的泛型类型。我相信在大多数情况下都可以忽略这一点(如您引用的示例),但您可以冒险在方法参数声明中提供
CountComparator
类型,如下所述: