6

標準 Java クラスの標準オブジェクト メソッド toString()、equals()、および hashcode() を自動的に生成するために、この記事で説明されている手法 (注釈とクラスワーキング) を使用するライブラリを知っている人はいますか?

4

2 に答える 2

4

はい、プロジェクトLombokがこれを行います。http://projectlombok.orgを参照してください。javacだけでなく、Eclipseもサポートしています。したがって、メソッドはソースコードには含まれていませんが、アウトラインビューに表示されます。

于 2009-07-23T10:31:44.273 に答える
0

私は確かにこれを見たことがなく、それからどのような価値が得られるのか本当にわかりません。自動toString生成は通常、ログファイルを精査するときに必要なものではなく、ほとんどのIDEには、クラス内のスキーマ変更が自動的に反映されない場合でも、生成hashCodeと実装を可能にするツールがあります。equals

これを実装するには、次の2つのオプションがあります。

  1. 関連するメソッドを生成するために(たとえばIDEによって)処理されるコンパイル時のクラスアノテーション。アノテーションは、宣言されているクラスの生成されたバイトコードを変更できますか?ソースコードを見ても何が起こっているのかわからないので、このアプローチは本当に悪い考えだと思います
  2. 特別なメカニズムを介して評価する必要があることを示す、関連するメソッドのランタイムアノテーション。これでも、メソッドを宣言してアノテーションを付ける必要があります。また、どのような場合でもアノテーションを使用するためにメソッド呼び出しを実際にインターセプトする方法もわかりません。
于 2009-07-23T10:27:31.100 に答える