2011-11-07 1 views
0

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エラー

を必要なヘルプは理解されるであろう。あなたの指があなたを裏切ったよう

答えて

0

は私に見える:

public class Foat ArrayWritable implements Writable {

+1

これは、コンストラクタが戻り値の型がないことを除いて、通常のメソッドのシグネチャと一致するため、コンパイラエラーを説明しています。コンストラクタ名がクラス名と一致しない場合は、メソッドを前提とし、戻り値の型が必要です。 –

0

あなたは、クラス名がコンストラクタ名と一致することを確認しなければなりません。

コンストラクタが戻り値の型がないことを除いて、通常のメソッドのシグネチャと一致するため、コンパイラエラーが発生します。コンストラクタ名がクラス名と一致しない場合は、メソッドを前提とし、戻り値の型が必要です。

関連する問題