在Java中,是否可以转换为void(而不是Void)?
我可以在 X 中添加任何内容来使以下工作正常进行:
Object o = (void) X;
Is there anything I can put in X, to make the follow work:
Object o = (void) X;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
void 理论上是一个原语。 (尽管大多数人不同意,甚至我怀疑)你不能将一个对象投射到它上面。
最接近的情况是 InvocableHandler 可以为 void 方法返回 null ,而通过反射调用的 void 方法 invoke() 将返回 null 。
void is notionally a primitive. (though most would disagree it is even that I suspect) You cannot cast an object to it.
The closest you can come to this is an InvocationHandler can
return null
for a void method and a void method invoke()ed via reflection will returnnull
.也许这个讨论可能会有趣:
用于 Java Void 引用类型?,它涵盖了您所了解的所有内容可以用
Void
做什么以及它有什么用处。Maybe this discussion might be of interest:
Uses for the Java Void Reference Type?, it covers about everything you can do with
Void
and what it's good for.Java 不是 C++。在Java中,void不是一种类型,它是一个占位符,意思是“无返回值”。
Java is not C++. In Java, void is not a type, it is a placeholder that means "no return value".
不。如果您愿意,您可以设置
x = null;
吗?No. You can set
x = null;
if you wish though?