Встроенный (или популярная сторонняя библиотека) способ отображения между примитивом и соответствующим ссылочным типом («оболочкой»)? - PullRequest
2 голосов
/ 03 октября 2011

Я ищу двунаправленную карту, которая, например, выдает java.lang.Boolean.class, когда поиск выполняется на java.lang.Boolean.TYPE, и наоборот.По сути, примитивная карта 100 wrapper .

Кажется, достаточно просто построить такую ​​карту, но мне интересно, если она уже доступна в каком-то популярном, распространенном месте (в этом примере используется Google Guava ):

import com.google.common.collect.BiMap;
import com.google.common.collect.ImmutableBiMap;

public static final BiMap<Class<?>, Class<?>> PRIMITIVE_TO_OBJECT = ImmutableBiMap.<Class<?>, Class<?>>builder()
    .put(  Boolean.TYPE,   Boolean.class)
    .put(     Byte.TYPE,      Byte.class)
    .put(Character.TYPE, Character.class)
    .put(   Double.TYPE,    Double.class)
    .put(    Float.TYPE,     Float.class)
    .put(  Integer.TYPE,   Integer.class)
    .put(     Long.TYPE,      Long.class)
    .put(    Short.TYPE,     Short.class)
    .build();

1 Ответ

2 голосов
/ 04 октября 2011

org.apache.commons.lang3.ClassUtils в проекте Apache Commons Lang :

static Class<?> primitiveToWrapper(Class<?> cls)
    Converts the specified primitive Class object 
    to its corresponding wrapper Class object.

static Class<?> wrapperToPrimitive(Class<?> cls)
    Converts the specified wrapper class to its 
    corresponding primitive class.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...