私はこの方法で定義されている:ターミナルで[email protected]
:私はこのような出力を得ていた@Override
を添加する前に、コマンドラインを介してこれを実行していたときオーバーライドしないで「何か@ 677327b6」を取得せずにJavaオブジェクトを印刷するにはどうすればよいですか?
@Override
public String toString(String line)
{
String[] categories = line.split("; ");
String[] info;
// Get the suspect's information
info = categories[0].split(", ");
suspect = new Person(info[0].charAt(0), Integer.parseInt(info[1]), Double.parseDouble(info[2]));
String str = "";
if (info[0].charAt(0) == 'M')
str += "Male, ";
else if (info[0].charAt(0) == 'F')
str += "Female, ";
else
str += "unknown, ";
str += Integer.parseInt(info[1]) + "'s, ";
str += Double.parseDouble(info[2]) +"m";
System.out.println(str);
return str;
}
}
を。
私はこれが出力されているハッシュコードであることを理解しています。 しかし、toString()メソッドで定義したようにstrを出力する必要があります。
問題は、Detective型のtoString(String)メソッドはスーパータイプメソッドをオーバーライドまたは実装する必要があります。私の唯一の解決策は、@Override
注釈を削除することです。
これを上書きするのではなく、他の方法で正しい値にアクセスできますか?
eclipseを使用している場合は、メニューのsource-> toStringを生成することができます。あなたはすべてのデータを印刷するvoidメソッドを取得しました – XtremeBaumer