gpt4 book ai didi

java - int.class 返回什么

转载 作者:搜寻专家 更新时间:2023-10-31 19:48:34 24 4
gpt4 key购买 nike

我了解包装器是什么,但是从文档中您似乎能够获得 int 类型的 Class 对象的实例。这会返回包装器或某种类型的 int 类实例吗?由于泛型和类型删除,如果它这样做就没有意义。您只能获取实际类的 Class 实例而不是基元,这不是真的吗?当他们说代表时,他们是指其他东西的包装吗?

这是 JavaDoc 所说的内容,以及我感到困惑的原因

TYPE

public static final Class TYPE

The Class instance representing the primitive type int.

Since:
JDK1.1

最佳答案

Isn't it true that you can only get Class instances of actual classes not primitives?

有点。

但有时您需要一些“原始整数”的元数据。例如在查看方法签名时。然后你得到一个 Class[] 作为参数,你需要以某种方式区分 public void test(Integer x)public void test(int x)

因此,为了促进这一点,原始类型有特殊的 Class 实例。

更进一步,甚至有 java.lang.Void.TYPE :

 Class<Void> x = void.class;

有见地Javadoc :

/**
* Determines if the specified <code>Class</code> object represents a
* primitive type.
*
* <p> There are nine predefined <code>Class</code> objects to represent
* the eight primitive types and void. These are created by the Java
* Virtual Machine, and have the same names as the primitive types that
* they represent, namely <code>boolean</code>, <code>byte</code>,
* <code>char</code>, <code>short</code>, <code>int</code>,
* <code>long</code>, <code>float</code>, and <code>double</code>.
*
* <p> These objects may only be accessed via the following public static
* final variables, and are the only <code>Class</code> objects for which
* this method returns <code>true</code>.
*
* @return true if and only if this class represents a primitive type
*
* @see java.lang.Boolean#TYPE
* @see java.lang.Character#TYPE
* @see java.lang.Byte#TYPE
* @see java.lang.Short#TYPE
* @see java.lang.Integer#TYPE
* @see java.lang.Long#TYPE
* @see java.lang.Float#TYPE
* @see java.lang.Double#TYPE
* @see java.lang.Void#TYPE
* @since JDK1.1
*/
public native boolean isPrimitive();

关于java - int.class 返回什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9936808/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com