这个方法判断指定的 Class 对象是否表示一个基本类型或者void类型,为什么要把void放到这个方法中我也不太清楚,如果Class对象为表示八个基本类型和void则为true,否则false。所以以后我们可以直接使用这个方法来判断对象是不是基本类型。注意基本类型的包装类不属于基本类型,调用这个方法的返回值为false。
实例如下:
// 基本类型判断 System.out.println( BigDecimal.class.isPrimitive()); System.out.println(int.class.isPrimitive()); System.out.println(void.class.isPrimitive()); System.out.println( TestBigdecimal.class.isPrimitive()); System.out.println(Class.class.isPrimitive()); 运行结果: false true true false false
我们也来扩展一下其他的知识点。
关于第三点中说的元素类型,列出来一张元素类型表:
元素类型 | 编码 |
boolean | Z |
byte | B |
char | C |
class or interface | Lclassname; |
double | D |
float | F |
int | I |
long | J |
short | S |
实例如下:
// getName long[] a2 = new long[] {1,2,3,4}; String[] a3 = new String[] {"1","2","3","4"}; System.out.println(Integer.class.getName()); System.out.println(a1.getClass().getName()); System.out.println(a2.getClass().getName()); System.out.println(a3.getClass().getName()); System.out.println(int.class.getName()); System.out.println(String.class.getName()); List<String> str = Arrays.asList( a3 ); System.out.println(str.getClass().getName()); System.out.println(str.getClass().isArray()); 运行结果: java.lang.Integer [I [J [Ljava.lang.String; int java.lang.String java.util.Arrays$ArrayList false
getComponentType()方法返回表示数组的组件类型的Class,也就是说返回数组的每个元素的类型。如果此类不表示数组类,则此方法返回null。
实例如下:
// 返回数组的元素类型 int[] a1 = new int[] {1,2,3,4}; System.out.println(a1.getClass().getComponentType()); System.out.println(a1.getClass()); System.out.println(int.class.getComponentType()); 运行结果: int class [I null
上面的方法都是Class类中的方法,Class类里面的方法还有很多,后续我会把一一解析的。
原文:https://www.cnblogs.com/javJoker/p/12123045.html