を検出し、指定されたクラスは、そのボックスプリミティブ型または私はこのような醜い方法をしなければならないクラスであるかどうかを知る方法があります:はボクシングのクラス
public boolean isBoxingClass(Class clazz){
String simpleName=clazz.getSimpleName();
switch(simpleName){
case "Integer":
case "Long":
case "Boolean":
case "Double":
case "Float":
return true;
default :
return false;
}
}
EDIT:
は、最後に、このソリューションを選択した場合:
public static final List<Class> BOXING_CLASSES= Arrays.asList(new Class[]{
Integer.class,
Long.class,
Short.class,
Boolean.class,
Double.class,
Float.class,
Character.class,
Void.class,
Byte.class});
public static boolean isBoxing(Class clazz){
return BOXING_CLASSES.contains(clazz);
}
どうCharacter' 'は? my.package.Integer' 'は' true'をを返します –
!このようにする方が良いです。 'class == Integer.class ||クラス== Long.class || ... '(設定または同等の、'> '便利になるでしょう)。 –
@Ziyao Wei:このようなケースを逃したくないので正確にメソッドが必要です。) –