有一个Java Void- 大写的V-- 引用类型.我见过它唯一的情况是参数化Callables
final Callable<Void> callable = new Callable<Void>() {
public Void call() {
foobar();
return null;
}
};
Run Code Online (Sandbox Code Playgroud)
Java Void引用类型还有其他用途吗?可以分配除了以外的任何东西null吗?如果是的话,你有例子吗?
在班上(我正在接管其他人的项目),我有以下内容:
using Java.Util;
using Object = Java.Lang.Object;
using Void = Java.Lang.Void;
Run Code Online (Sandbox Code Playgroud)
Void,显示为红色,带有" 无法解析符号'Void' ",无法看到我可能遗漏的内容.
我已经检查了PC的来源(并且应用程序确实构建在那个上)并安装了相同的(是的,我看到的,更新的,但专门安装了"相同"的项目)Java项目:
这没有任何改变.
我检查了项目的'References'分支,一切都显示相同(事实上,我无法在任何地方看到对Java的具体引用)
任何帮助将不胜感激.
请理解我不打算更改代码; 只是为了得到代码(按原样)编译没有错误.
[更新]
当我输入Java.Lang.intellisense不会在下拉列表中显示Void
[进一步更新]
该项目与平板电脑的开发有关; 我没有安装一些开发软件 - 安装它们已经解决了这个问题,我只能假设Java命名空间被隐藏在软件中.虽然回复中没有具体的答案,但大多数评论肯定有助于引导我朝着正确的方向前进.
想要有一个Class<T>对象,这两种方法之间的区别是什么?
Test ob = new Test();
ob.getclass();
Run Code Online (Sandbox Code Playgroud)
要么
Test.class
Run Code Online (Sandbox Code Playgroud) 在我的代码中,我(意外地)写了void.class(不是Void.class)编译器很高兴地接受了它.到现在为止,我认为这些原始物不是真正的物体(不仅是void,也在谈论int......等等),所以他们没有课.
我在谈论所有"原始阶级".每个原语类型具有由表示的类<primitivetype>.class,例如float.class
Class这种"原始阶级"是指什么" ",例如void.class?int.class.isInstance(2.3f)吗?我有这个代码:
public class Test {
public static void main(String[] args) {
Void();
}
private static void Void() {
System.out.print("Hello");
}
}
Run Code Online (Sandbox Code Playgroud)
既然java.lang.Void是Java中的一个类,为什么它可以作为方法名?