请教想编这样的一个函数:    public static Class<?> getWrapperClass(Class<?> type) {
        if (type.isPrimitive()) {
            //返回 对应的wrapper class
            //TODO
        } else {
            return type;
        }
    }但是我不知应该怎样写 TODO部分,请帮忙。

解决方案 »

  1.   

    static Hashtable<Class, Class> primitiveToWrapper = new Hashtable<Class, Class>();    static Hashtable<Class, Class> wrapperToPrimitive = new Hashtable<Class, Class>();    static {        primitiveToWrapper.put(Boolean.TYPE, Boolean.class);        primitiveToWrapper.put(Byte.TYPE, Byte.class);        primitiveToWrapper.put(Short.TYPE, Short.class);        primitiveToWrapper.put(Character.TYPE, Character.class);        primitiveToWrapper.put(Integer.TYPE, Integer.class);        primitiveToWrapper.put(Long.TYPE, Long.class);        primitiveToWrapper.put(Float.TYPE, Float.class);        primitiveToWrapper.put(Double.TYPE, Double.class);        wrapperToPrimitive.put(Boolean.class, Boolean.TYPE);        wrapperToPrimitive.put(Byte.class, Byte.TYPE);        wrapperToPrimitive.put(Short.class, Short.TYPE);        wrapperToPrimitive.put(Character.class, Character.TYPE);        wrapperToPrimitive.put(Integer.class, Integer.TYPE);        wrapperToPrimitive.put(Long.class, Long.TYPE);        wrapperToPrimitive.put(Float.class, Float.TYPE);        wrapperToPrimitive.put(Double.class, Double.TYPE);    }