-1

という名前のクラスCarがあります。固定されたプロパティなしで、割り当てられたプロパティのみを使用してその名前を取得するにはどうすればよいですか。このフィクションのように機能するものは素晴らしいでしょう:FieldtrunkString

System.out.println(new Car().getTrunk().getField().getName());

出力:

trunk

String固定を使用して名前を取得したくありませんField。リファクタリングがうまくいかないからです。trunkからに名前を変更する場合はboot、IDE のリファクタリング ツールで完全に処理する必要があります。

更新Carクラス:

public class Car{
    String trunk;
    // getters + setters
}

背景:によって評価される s/プロパティの名前を含むいくつかのエンティティの CRUD-UI にPrimefaces の動的列
を使用したいと考えています。columnTemplateFieldExpression Language

4

2 に答える 2

0

プロパティ名へのアクセスはお勧めできません。リフレクションを使用すると、OOP の原則が破られます。

getTrunk() は常にトランク プロパティにアクセスする必要はありません

あなたが持つことができます

private Trunk trunk;//remember to change the TRUNK_FIELD
public static final TRUNK_FIELD = "trunk"

しかし...この解決策を避けるようにしてください。

于 2013-10-23T23:13:36.487 に答える