0
public class Emp {

    private String employeeId;
    private String employeeName;
    private double employeeSalary;

    public String getEmployeeId() {
        return employeeId;
    }
    public String getEmployeeName() {
        return employeeName;
    }
    public double getEmployeeSalary() {
        return employeeSalary;
    }

    public void setEmployeeId(String employeeId) {
        this.employeeId = employeeId;
    }
    public void setEmployeeName(String employeeName) {
        this.employeeName = employeeName;
    }
    public void setEmployeeSalary(double employeeSalary) {
        this.employeeSalary = employeeSalary;
    }
    @Override
    public String toString() {
        return "Emp [employeeId=" + employeeId + ", employeeName="
                + employeeName + ", employeeSalary=" + employeeSalary + "]";
    }


}

これはサンプルクラスです。ユーザーはクラスの名前を入力します。ユーザー入力によると、ゲッター メソッドとセッター メソッド、およびそのクラスの詳細を見つけたいと考えています。この目的のために、以下のコードを使用しています。しかし、employeeId、employeeName、employeeSalary の gettes と setter は表示されません。

BeanInfo info; 
info = Introspector.getBeanInfo(c.getClass()); 
MethodDescriptor[] md = info.getMethodDescriptors();            
for (MethodDescriptor methodDescriptor : md) {
    LOGGER.info("Method-"+methodDescriptor.getMethod().getName());          
} 

上記のコードを使用してクラスのメソッドを読み取ろうとしていますが、宣言されたフィールドのゲッターとセッターが表示されません。

4

1 に答える 1

0

Field クラスが必要になるかもしれません。Field クラスは、クラスまたはインターフェイスの単一フィールドに関する情報と、それらへの動的アクセスを提供します。反映されたフィールドは、クラス (静的) フィールドまたはインスタンス フィールドの場合があります。を使用しField[]ます。以下はそれのためのパッケージです

import java.lang.reflect.Field;
于 2013-01-03T04:04:07.180 に答える