この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 15026|答える: 5

[出典] JavaについてのtoString()メソッドのオーバーライドについて

[リンクをコピー]
2022年2月27日 12:34:15 に投稿 | | | |
要件:開発プロセス中、デバッグや解析問題を容易にするためにオブジェクトフィールドのすべての値を出力する必要があります。 オブジェクトをJSON文字列に変換して出力することもできますし、toString()メソッドをオーバーライドしてオブジェクトの値を直接出力することもできます。

toString()メソッドが上書きされない場合、システムはデフォルトでオブジェクトのtoString()メソッドを呼び出し、出力形式は以下の通りです。

<完全限定クラス名>@<ハッシュ オブジェクトの16進数コード>
例えば:Test@7a3d45bd
オブジェクトがtoString()メソッドを上書きすると、書き換えられたメソッドが呼び出されます。以下のように。



でも、このリターン紐のような死んだステッチを書くことで欠点の一つは、フィールドを追加する際にtoString()メソッドを修正する必要があることですこれは非常に面倒なことになるでしょう。 フィールドが多ければ、システムメモリが小さい場合(システムエンティティが多いと仮定した場合)、多数の「+」スプライシングがメモリを爆発的に破壊します。なぜなら、すべての「+」がStringオブジェクトを新しくするためです。

Commons-Lang3パッケージの使用ToStringBuilderこれらの問題は非常にうまく回避できます。 Mavenプロジェクトは以下のように紹介されます:


サンプルコードは以下の通りです:

レンダリングは以下の通りです:



(終わり)





先の:[実技トレーニング] ネットワークリンク検出トラサートおよびTraceRouteチュートリアル
次に:実用的な操作:ProGetを使ってNuGetのプライベートリポジトリを構築する
2022年2月28日 19:51:30 に投稿 |
学ぶことを...
2022年5月22日 22:57:06 に投稿 |
学ぶこと:
2022年5月23日 16:31:09に投稿 |
ロンボックを使う方が良いでしょうか?
2023年2月13日 11:46:54に投稿 |
見た目も良く、それを励まして
 地主| 2025年1月21日 13:46:28に投稿 |
C#バージョン:



免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com