クラスからすべての変数値を出力する
2023-08-13 05:53:48
質問
Personに関する情報を持つクラスで、以下のようなものがあります。
public class Contact {
private String name;
private String location;
private String address;
private String email;
private String phone;
private String fax;
public String toString() {
// Something here
}
// Getters and setters.
}
私は
toString()
を返すように
this.name +" - "+ this.locations + ...
を全ての変数に対して返すようにしました。からわかるように、リフレクションを使って実装しようとしていたのです。
この質問
から示されたようにリフレクションを使用して実装しようとしましたが、私はインスタンス変数を印刷するために管理することができません。
これを解決するための正しい方法は何ですか?
どのように解決するのですか?
から toStringの実装 :
public String toString() {
StringBuilder result = new StringBuilder();
String newLine = System.getProperty("line.separator");
result.append( this.getClass().getName() );
result.append( " Object {" );
result.append(newLine);
//determine fields declared in this class only (no fields of superclass)
Field[] fields = this.getClass().getDeclaredFields();
//print field names paired with their values
for ( Field field : fields ) {
result.append(" ");
try {
result.append( field.getName() );
result.append(": ");
//requires access to private field:
result.append( field.get(this) );
} catch ( IllegalAccessException ex ) {
System.out.println(ex);
}
result.append(newLine);
}
result.append("}");
return result.toString();
}
関連
-
[解決済み] リフレクションを使用して文字列からプロパティ値を取得する
-
java -jarコマンドでパッケージを実行すると、無効または破損したjarfile xxxx.jarが表示される。
-
Zipファイルの圧縮・解凍にantを使用する
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] B "の印刷が "#"の印刷より劇的に遅いのはなぜですか?
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] Java内部クラスと静的ネストされたクラス
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
executeQuery()でデータ操作文が発行できない。解決方法
-
SLF4J: クラス・パスに複数のSLF4Jバインディングが含まれています。
-
unsigned char* から const jbyte* {aka const signed char*} への変換が無効です。
-
Javaがテキストファイルを読み込む
-
アノテーション「@Retention」の役割
-
maven レポート エラー 解決不可能な親POM
-
Javaがエラーで実行される、選択が起動できない、最近起動したものがない
-
Web Project JavaでPropertiesファイルを読み込むと、「指定されたファイルがシステムで見つかりません」というソリューションが表示されます。
-
htmlとwordの相互変換の実装(画像あり)
-
swagger2 モデルが表示されない モデルが見つからない @ApiModel アノテーションが表示されない問題