使用不同java文件中的类定义编译map reduce java文件(包含main)
我正在尝试编译使用FloatArrayWritable类的kmeans.java。我在FloatArrayWritable.java中定义了这个类:使用不同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
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实现了可写{
必须确保类名与构造函数名匹配
编译器错误的发生是因为构造函数与普通方法签名匹配,当然没有返回类型。如果构造函数名称与类名不匹配,则它将采用方法并期望返回类型。这解释了编译器错误,因为构造函数与普通方法签名匹配,当然没有返回类型。如果构造函数名称与类名不匹配,则它将采用方法并期望返回类型。