私はEnumをとるメソッドを持っています。メソッドの名前はmethodName(MyTypes)で、MyTypesは別のクラスの中にあります。 Data{ enum MyTypes{ Id, Value.... } }
反射を使ってStringからEnumを構築する
このメソッドを動的に呼び出す必要があります。それを呼び出すには、入力文字列からMyType型のエミュムを構築する必要があります。入力文字列は、たとえばMyTypes.Valueです。 この文字列からenumインスタンスを動的に構築し、メソッドを渡すにはどうすればよいですか?
私はmethod.getGenericParameterTypeをしています()それは私にこの ような何かを返す[クラスpackagename.Data $ MyTypes]
列挙型を構築するためにどのようにジェネリック型と文字列値を必要なこの2つのことを使用していますか?
ありがとうございます。
を使用して列挙型の値を取得し、その後、その後、
Class.forName(String)
を使用して、実際のクラスオブジェクトを取得し、クラス名「MyTypes」を取得するために文字列を解析?あなたに十分なData.MyTypes.valueOf(テキスト)か、あなたに私たちに言わなかった理由の反映が必要ですか?反射でもそれを得ることができます。たとえば、enumクラスの名前がパラメータである場合など、このクラスが必要になることがあります。 – aalkuこの答えを見て、それはあなたと私が望んでいたものです。 http://stackoverflow.com/a/3735968/2881350 –