在java API文档中,编写了布尔包装类具有 3 字段。真,假和类型。
对于Type,他们给出了描述:
TYPE:表示基本类型boolean的Class对象。
我无法理解这个“类型”字段是什么?
答案 0 :(得分:1)
每个Java类都由一个类型为java.lang.Class
的对象在正在运行的Java程序中表示,除其他外,它允许您对该类型的对象执行反射操作。您通常可以通过调用Class
或明确指定其名称来访问对象obj.getClass()
,例如。 String.class
。
原始类型,例如int
和boolean
,没有代表它们的类。但是在某些情况下,为它们提供Class
对象是合适的,并且包装类类型的TYPE
成员(如java.lang.Integer
和java.lang.Double
)完全代表这些Class
个对象。
如果您对一系列布尔值执行反射操作,可能会给您一个,如下所示:
boolean[] bools = new boolean[1];
Class<?> c = bools.getClass().getComponentType();
Assert.assertEquals(Boolean.TYPE, c); // passes!
请注意,原语布尔类与布尔包装类不同!也就是说,
Assert.assertNotSame(Boolean.TYPE, Boolean.class); // passes!
答案 1 :(得分:0)
TYPE
是Class<Boolean>
包装器类的Boolean
编译时常量,表示boolean
类包含的基本类型(Boolean
)。
所有对象包装器都是一样的:它们都有TYPE
常量表示它们的原始对应物(例如Integer.TYPE)。
答案 2 :(得分:0)
它在反射API中用于表示方法的布尔参数或返回类型的类型,或类的字段类型。