Java getClass().getName()何时返回void?

Java getClass().getName()何时返回void?,java,class,Java,Class,Class.getName()的java文档说明: 返回该类对象所表示的实体的名称(类,接口,数组类,基元类型,或无效) 它将于何时返回作废 它将为void类型的类文本提供void字符串: Class<Void> clazz = void.class; System.out.println(clazz.getName()); Class clazz=void.Class; System.out.println(clazz.getName()); 请参阅进一步阅读: 类文字是由类的

Class.getName()
的java文档说明:

返回该
对象所表示的实体的名称(
接口
数组类
基元类型
,或
无效


它将于何时返回
作废

它将为
void
类型的类文本提供
void
字符串:

Class<Void> clazz = void.class;
System.out.println(clazz.getName());
Class clazz=void.Class;
System.out.println(clazz.getName());
请参阅进一步阅读:

类文字是由类的名称组成的表达式, 接口、数组或基元类型,或后面的伪类型void 通过“.”和令牌类执行。
[…]
void.class(§8.4.5)的类型为
class


嗯,好问题。我建议你看一下源代码,因为它是开源的。当givenClass的类型为java.lang.void时,我会说它返回void。

当它的
void.class
表示
void
void
本身不是一个类型,但需要一个类来表示它的某些内容

例如:

class VoidExample {
    public static void main(String[] args) throws Exception {
        System.out.println(
            VoidExample.class
                .getMethod("main", String[].class)
                    .getReturnType().getName()
        );
    }
}

我检查了,但不幸的是
GetName()
是一个本机方法,因此您必须深入挖掘才能找到确切的情况。但是我怀疑,如果你调用一个返回
void

的方法,你会看到一个实际的例子,void是一个不可实例化的占位符类,用来保存void.class类型,
void.type
。我一直在搜索JLS,有趣的是,很少提到void。除了你包含的部分(我没有找到),我什么也找不到。@Radiodef有时只是你找到了正确的主题。就这样。我以前去过那里,所以我知道确切的主题;)现在我也是P“伪类型”是我一直在寻找的东西。谢谢