在布尔包装类中键入字段?

时间:2016-03-09 16:25:39

标签: java boolean

在java API文档中,编写了布尔包装类具有 3 字段。真,假和类型
对于Type,他们给出了描述:

  

TYPE:表示基本类型boolean的Class对象。

我无法理解这个“类型”字段是什么?

3 个答案:

答案 0 :(得分:1)

每个Java类都由一个类型为java.lang.Class的对象在正在运行的Java程序中表示,除其他外,它允许您对该类型的对象执行反射操作。您通常可以通过调用Class或明确指定其名称来访问对象obj.getClass(),例如。 String.class

原始类型,例如intboolean,没有代表它们的类。但是在某些情况下,为它们提供Class对象是合适的,并且包装类类型的TYPE成员(如java.lang.Integerjava.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)

TYPEClass<Boolean>包装器类的Boolean编译时常量,表示boolean类包含的基本类型(Boolean)。

所有对象包装器都是一样的:它们都有TYPE常量表示它们的原始对应物(例如Integer.TYPE)。

答案 2 :(得分:0)

它在反射API中用于表示方法的布尔参数或返回类型的类型,或类的字段类型。