0

多くの「仮想フィールド」を含む一連のクラスがあり、各「フィールド」の実際のストレージは非自明なインデックスを持つ配列要素であり、「フィールド」は常に getter/setter によってアクセスされます。この種のオブジェクトを表示する場合、通常のフィールドのように見える「仮想フィールド」を表示すると便利ですが、アクセスには getter/setter を使用します。

詳細フォーマッタ、AFAICT は、実際にはこれを行う方法を提供していません。

このための読み取り専用サポート (セッターなし) さえ取得できれば、それは役に立ちます。

私は、何らかの構成ファイルやプロセス、あるいはプラグインを使用して、これらすべてのクラスに対してこれを設定できるソリューションを (おそらく無駄に) 望んでいます。

4

2 に答える 2

1

論理構造はあなたが必要とするものです。だから私はこのクラスを持っています

public class Something {

    public String[] fields;

    public Something(final String[] fields) {
        this.fields = fields;
    }
    public String first() {
        return fields[0];
    }
    public String second() {
        return fields[1];
    }
}

次に、[設定]> [Java]> [デバッグ]>[論理構造]に移動し、クラスとフィールドを対応するゲッターメソッドで追加します。

論理構造の追加

これにより、デバッグウィンドウは次のようになります。

デバッグ変数

そうでない場合は、[論理構造]ボタンが選択されていることを確認してください(ツリー構造を指す黄色の矢印)

于 2013-03-18T19:44:31.220 に答える
0

私が考えることができる最も近いことは、仮想フィールドの値が文字列の一部として読み取り可能な形式で返されるように toString() を実装することです。これは多くの「仮想」フィールドに対応できない場合がありますが、(通常は) 役立つデバッグ手法です。デバッガーでオブジェクトを選択すると、その toString() 結果が表示されます。

于 2013-03-18T19:02:26.103 に答える