2

オブジェクトのリストがあり、その属性を使用してExcelにデータを入力する必要があります。各セルには、Javaオブジェクトの属性があります。今、私はそれを行うための一般的な方法があるかどうか疑問に思いました。javaオブジェクトの属性はStringとdoubleのいずれかであり、これらの属性は約30個あります。ゲッターを使用して各属性を個別に取得してからセルにデータを入力する必要がありますか、それともより洗練された方法(ループ内、リフレクションを使用)がありますか?

4

1 に答える 1

2

はい、あなたは反射でそれを行うことができます。最初にクラスの宣言されたすべてのフィールドのリストを取得し、次にそのタイプを確認し、リフレクションを再度使用して、リスト内の各インスタンスからそのフィールドの値を取得します。念のために言っておきますが、返されるフィールドは特定の順序であることが保証されていませんが、Java 6から見つめていると、実際には宣言の順序で返されます。

            for (Field field : Test.class.getDeclaredFields()) {
                if (field.getType() == String.class) {
                    System.out.println(field.get(yourInstance));
                }
            }
于 2012-09-25T10:29:49.133 に答える