シングルトン静的ネストクラスのリフレクション取得フィールド

greywolf82

私は次のクラスを持っています:

public class A {
    private static class B {
        private static final B instance = new B();
        private ArrayMap<String, Integer> map;
    }
}

リフレクションを使用してマップフィールドを取得しようとしていますが、どうすればよいかわかりません。私の現在のコードは次のとおりです。

    Class<?>[] classes = ainstance.getClass().getDeclaredClasses();
    for (Class c : classes) {
        if (c.getName().equals("com.foo.A$B")) {
            try {
                Field f = c.getDeclaredField("instance");
                f.setAccessible(true);
                Field f1 = c.getDeclaredField("map");
                f1.setAccessible(true);
                ArrayMap<String, Integer> map;
                try {
                    map = (ArrayMap<String, Integer>) f1.get(f.getType());
                    System.out.println(map.get("id"));
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
            } catch (NoSuchFieldException e) {
                e.printStackTrace();
            }
        }
    }
Joop Eggen

            Field f = c.getDeclaredField("instance");
            f.setAccessible(true);

instanceオブジェクトを取得する必要があります。

            Object instance = f.get(null); // null as static, no 'this'.

次に、マップについても同じですが、nullではなく、instanceです。

                map = (ArrayMap<String, Integer>) f1.get(instance);

ジェネリック型パラメーターを削除することができます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

シングルトンクラスまたは静的フィールドのみのクラス?

分類Dev

コンストラクターのリフレクションセットフィールド値

分類Dev

シングルトン クラスの静的フィールドに関するアドバイス

分類Dev

スプリングインジェクションを使用したプライベート静的最終フィールドメンバーの割り当て

分類Dev

ジェネリッククラスのコンストラクターのオプションフィールドのデフォルト値

分類Dev

スレッドセーフシングルトンクラス

分類Dev

Googleスプレッドシート->クエリのフィルタリング

分類Dev

フィールドにクエリを実行してメインコレクションフィールドを取得し、クラウドファイヤーストアのサブコレクションドキュメントでサブコレクションを取得することはできますか?

分類Dev

RESTEasyシングルトンへのリクエストスコープのコンテキストフィールドインジェクション

分類Dev

ジェネリック型を知らなくても、ジェネリッククラス(シングルトン)の静的フィールドの値を取得する方法

分類Dev

Kotlinリフレクション-クラスのすべてのフィールド名を取得する

分類Dev

サブアグリゲーションの親フィールドにアクセスできるネストされたアグリゲーションelasticsearch

分類Dev

Javaリフレクション:フィールドのクラスを取得する

分類Dev

リフレクションを使用して内部クラスのフィールド値を取得する

分類Dev

ローカルディレクトリ内の静的ファイルのリクエストをMVCアクションにリダイレクトします

分類Dev

linqを使用したネストされたコレクションのフィルタリング

分類Dev

Androidクラウドファイヤーストアのコレクションのフィルターでドキュメント数を取得する方法

分類Dev

リフレクションでプライベート静的最終フィールドを設定する

分類Dev

シングルトンクラスvs静的メソッドおよびフィールド?

分類Dev

スレッドセーフなシングルトンクラスの記述

分類Dev

Javaリフレクションネストされたオブジェクトセットプライベートフィールド

分類Dev

流星レンダリングテンプレートの特定のIDからコレクションフィールドにアクセスする

分類Dev

EntityFrameworkフィルターのネストされたコレクション

分類Dev

マルチスレッドクライアントネットワークアプリケーションのパフォーマンス

分類Dev

フルスクリーンの「リストレット」スライドショー

分類Dev

デシジョンツリーインタラクティブスタイルのフロントエンド

分類Dev

トランザクションのフルシステムアップグレード

分類Dev

静的メソッドを介してシングルトンのフィールドにアクセスする

分類Dev

グラフィカル アプリケーション/ポート/タスク マネージャー?

Related 関連記事

  1. 1

    シングルトンクラスまたは静的フィールドのみのクラス?

  2. 2

    コンストラクターのリフレクションセットフィールド値

  3. 3

    シングルトン クラスの静的フィールドに関するアドバイス

  4. 4

    スプリングインジェクションを使用したプライベート静的最終フィールドメンバーの割り当て

  5. 5

    ジェネリッククラスのコンストラクターのオプションフィールドのデフォルト値

  6. 6

    スレッドセーフシングルトンクラス

  7. 7

    Googleスプレッドシート->クエリのフィルタリング

  8. 8

    フィールドにクエリを実行してメインコレクションフィールドを取得し、クラウドファイヤーストアのサブコレクションドキュメントでサブコレクションを取得することはできますか?

  9. 9

    RESTEasyシングルトンへのリクエストスコープのコンテキストフィールドインジェクション

  10. 10

    ジェネリック型を知らなくても、ジェネリッククラス(シングルトン)の静的フィールドの値を取得する方法

  11. 11

    Kotlinリフレクション-クラスのすべてのフィールド名を取得する

  12. 12

    サブアグリゲーションの親フィールドにアクセスできるネストされたアグリゲーションelasticsearch

  13. 13

    Javaリフレクション:フィールドのクラスを取得する

  14. 14

    リフレクションを使用して内部クラスのフィールド値を取得する

  15. 15

    ローカルディレクトリ内の静的ファイルのリクエストをMVCアクションにリダイレクトします

  16. 16

    linqを使用したネストされたコレクションのフィルタリング

  17. 17

    Androidクラウドファイヤーストアのコレクションのフィルターでドキュメント数を取得する方法

  18. 18

    リフレクションでプライベート静的最終フィールドを設定する

  19. 19

    シングルトンクラスvs静的メソッドおよびフィールド?

  20. 20

    スレッドセーフなシングルトンクラスの記述

  21. 21

    Javaリフレクションネストされたオブジェクトセットプライベートフィールド

  22. 22

    流星レンダリングテンプレートの特定のIDからコレクションフィールドにアクセスする

  23. 23

    EntityFrameworkフィルターのネストされたコレクション

  24. 24

    マルチスレッドクライアントネットワークアプリケーションのパフォーマンス

  25. 25

    フルスクリーンの「リストレット」スライドショー

  26. 26

    デシジョンツリーインタラクティブスタイルのフロントエンド

  27. 27

    トランザクションのフルシステムアップグレード

  28. 28

    静的メソッドを介してシングルトンのフィールドにアクセスする

  29. 29

    グラフィカル アプリケーション/ポート/タスク マネージャー?

ホットタグ

アーカイブ