int.class-> Integerのように、クラスをクラスにマッピングする関数が欲しいのですが。
2 に答える
4
これはバニラJDKで具体的に提供されていませんが、独自のものを作成したくない場合は、Guavaが提供Primitives.wrap(Class)
し、プリミティブ型を取り、対応するラッパー型を返します。
于 2013-02-11T20:26:52.153 に答える
1
整数の場合:
int.class or the equivalent: Integer.TYPE;
他のプリミティブ型についても同じです
double.class or Double.TYPE
float.class or Float.TYPE
char.class or Character.TYPE
long.class or Long.TYPE
boolean.class Boolean.TYPE
次のように使用します。
Class intClass = int.class;
これは、プリミティブ型intを表すクラスです。
その情報を使用して、独自のマッパーを作成するだけです:(8行のコード用の外部ライブラリを含めたくない)
public Class getClassForPrimitiveType(Class clazz) {
if (clazz == int.class) return Integer.class;
if (clazz == float.class) return Float.class;
// TODO other primitives
}
于 2013-02-11T20:25:22.297 に答える