私は多くのフィールドを持つJava Beanを持っています。私はtoString()
StringBuilderを使用して直接フィールド名を使用してオーバーライドする方法を知っています。フィールド名なしで、より良い方法でそれを行う方法はありますか?JavaでtoString()をオーバーライドする簡単な方法
ありがとうございます。
P.S:このBeanは既に自分の製品に実装されています。
私は多くのフィールドを持つJava Beanを持っています。私はtoString()
StringBuilderを使用して直接フィールド名を使用してオーバーライドする方法を知っています。フィールド名なしで、より良い方法でそれを行う方法はありますか?JavaでtoString()をオーバーライドする簡単な方法
ありがとうございます。
P.S:このBeanは既に自分の製品に実装されています。
私は、多くの場合、Apacheの共通ラングのToStringBuilder
ので、などを使用します。
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
これは問題のオブジェクトのtoString
を生成するためにリフレクションを使用しています。
Apache Commonには、反射を使用してtoString
という結果が得られるToStringBuilder
classがあります。
明示的に、またはhereのようなヘルパークラスを使用してリフレクションを使用できます。私は、リフレクションにはフィールド名を直接使用するためのオーバーヘッドがあると仮定します。
そのパフォーマンスオーバーヘッドは非常に大きくなる可能性があることに注意してください。それがまれに使用されたり、デバッグの目的で使用されている場合は、完璧です。 – Voo
これはAndroidで使用できますか?私のIDEは、 'org.apache.commons.lang3.builder.ToStringBuilder;'をインポートしようとすると、それを見つけることができません。 – Azurespot