我怎么能一般地告诉Java类是原始类型?

时间:2008-10-16 16:38:29

标签: java

有没有办法获取一个Class并确定它是否代表一个原始类型(是否有一个解决方案不需要专门枚举所有原始类型)?

注意:我见过this question。我问的基本上是相反的。我有班级,我想知道它是否是原始的。

3 个答案:

答案 0 :(得分:25)

Class对象上有一个名为isPrimitive的方法。

答案 1 :(得分:7)

Class.isPrimitive()会告诉你答案。

答案 2 :(得分:1)

此方法还将检查它是否也是基本类型的包装:

/**
* Checks first whether it is primitive and then whether it's wrapper is a primitive wrapper. Returns true
* if either is true
*
* @param c
* @return whether it's a primitive type itself or it's a wrapper for a primitive type
*/
public static boolean isPrimitive(Class c) {
  if (c.isPrimitive()) {
    return true;
  } else if (c == Byte.class
          || c == Short.class
          || c == Integer.class
          || c == Long.class
          || c == Float.class
          || c == Double.class
          || c == Boolean.class
          || c == Character.class) {
    return true;
  } else {
    return false;
  }