特定のクラスがプリミティブ型をボックス化するクラスであるかどうかを知る方法はありますか、または次のような醜いメソッドを作成する必要がありますか?
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;
}
}
編集:
最終的にこのソリューションを選択した場合:
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);
}