FloeansArrayWritableクラスを使用するkmeans.javaをコンパイルしようとしています。私はFloatArrayWritable.javaでこのクラスを定義していますコンパイルmap異なるJavaファイルのクラス定義を持つjavaファイル(mainを含む)を減らす
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_classes/-Xlint kmeans.java FloatArrayWritable.java
このエラーが発生します。 FloatArrayWritable.java:22:無効なメソッド宣言。戻り値の型が必要です public FloatArrayWritable(){ ^ FloatArrayWritable.java:26:無効なメソッド宣言です。戻り型が 公共FloatArrayWritable(FloatWritable []ベクター){ ^ 2エラー
を必要なヘルプは理解されるであろう。あなたの指があなたを裏切ったよう
これは、コンストラクタが戻り値の型がないことを除いて、通常のメソッドのシグネチャと一致するため、コンパイラエラーを説明しています。コンストラクタ名がクラス名と一致しない場合は、メソッドを前提とし、戻り値の型が必要です。 –