在Java中,“void”可以被认为是一种原始类型吗?

2022-09-03 05:02:51

我注意到eclipse JDT使用void作为原始类型。这可以被认为是正确的吗?


答案 1

我发现,在这种情况下,你不能打败Java语言规范。很明显,这不是一个原始的事实。void

首先,不在基元类型列表中。后来,JLS明确指出:void

Java编程语言不允许“强制转换为无效”——void不是 http://java.sun.com/docs/books/jls/third_edition/html/statements.html#5989 类型(强调我的)

此外,显示在关键字列表中,而不是文本列表中。void

你看到自己所做的事情的原因,迈克尔·博格沃德(Michael Borgwardt)很好地解释了这一点。

所以,回答你的标题:不。在 Java 中,不能将其视为基元。回答你的身体:是的,Eclipse JDT代码对于它需要做的事情是正确的。void


答案 2

没有 void 不是基元类型。它只是一个关键字,用于指示方法没有返回值。最接近的是java.lang.Void类,Javadocs中将其描述为:

Void 类是一个无法证实的占位符类,用于保存对表示 Java 关键字 void 的 Class 对象的引用。

JDT 中的存在仅仅是为代码构建 AST。如果您查看相同文档中的字段值描述,它说:

基元类型“void”的类型代码。请注意,“void”是特殊的,因为它唯一合法的用途是作为方法返回类型和作为类型文本。