Gibt es eine Möglichkeit zu wissen, ob eine bestimmte Klasse ist eine Klasse, die Boxen eine primitive Art oder muss ich auf eine hässliche Methode wie folgt machen:eine Box-Klasse
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:
wenn entschieden schließlich für diese Lösung:
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);
}
Was ist mit 'Charakter'? –
Das würde "wahr" für "my.package.Integer" zurückgeben! Es ist besser, es so zu machen: class == Integer.class || Klasse == Long.class || ... '(oder gleichwertig, ein' Set> 'würde sich als nützlich erweisen). –
@Ziyao Wei: Ich möchte eine Methode genau, weil ich einige Fälle wie diese nicht verpassen möchte;) –