使用不同java文件中的类定义编译map reduce java文件(包含main)

使用不同java文件中的类定义编译map reduce java文件(包含main),java,compilation,mapreduce,Java,Compilation,Mapreduce,我正在尝试编译使用FloatArrayWritable类的kmeans.java。我在FloatArrayWritable.java中定义了这个类: public class FoatArrayWritable implements Writable { public ArrayWritable array; @SuppressWarnings("unchecked") public FloatArrayWritable() { this(Co

我正在尝试编译使用FloatArrayWritable类的kmeans.java。我在FloatArrayWritable.java中定义了这个类:

public class FoatArrayWritable implements Writable {

    public ArrayWritable array;

    @SuppressWarnings("unchecked")
        public FloatArrayWritable() {
        this(Collections.EMPTY_LIST);
    }

    public FloatArrayWritable(FloatWritable[] vectors) {
        array = new ArrayWritable(Float.class, vectors);
    }

    public void readFields(DataInput in) throws IOException {
        array.readFields(in);
    }

public void write(DataOutput out) throws IOException {
        array.write(out);
    }

}
使用此命令编译时: javac-classpath/home/aniruddha/team05/NGramCount/lib/hadoop-0.20.1-core.jar-d kmeans\u classes/-Xlint kmeans.java FloatArrayWritable.java

我遇到了这个错误: java:22:无效的方法声明;需要返回类型 公共浮动可写入{ ^ FloatArrayWritable.java:26:方法声明无效;需要返回类型 public floatArrayWritable floatWritable[]向量{ ^ 2个错误


任何帮助都将不胜感激。

在我看来,你的手指背叛了你:

公共类Foat ArrayWritable实现了可写{


必须确保类名与构造函数名匹配


编译器错误的发生是因为构造函数与普通方法签名匹配,当然没有返回类型。如果构造函数名称与类名不匹配,则它将采用方法并期望返回类型。

这解释了编译器错误,因为构造函数与普通方法签名匹配,当然没有返回类型。

如果构造函数名称与类名不匹配,则它将采用方法并期望返回类型。