所以我想测试Void
类型然后我写了这个简单的程序:
package ehsan;
public class NumTest {
public static Void main(String[] args) {
System.out.println("Hello, World!");
return null; /* The compiler forced me to do so. I just can't realize what is the point in returning in Void type!? */
}
}
所以现在当我想编译时,编译器抱怨:
main method must return a value of type void
为什么编译器看不到我没有返回任何内容并使用Void
?
答案 0 :(得分:4)
您应该使用5
(小写void
)而非v
对象。 Void
对象不会像例如一样进行自动装箱Void
/ int
,请参阅Java Language Specification以获取自动装箱对象列表。
Integer
不是Void
的包装器,它只是一个名称非常相似的对象,因此可以在需要指定返回类型的位置使用(例如void
1}}),它仅用于文档目的,并解决一些泛型类返回类型。
第二个用例正在反思中(当你想检查Callable<T>
函数的返回值时,你会得到void
)。
正确的行是:
Void.TYPE
答案 1 :(得分:2)
Void是一个类类型,因此编译器希望您为它返回一个值。您应该使用小写字母void
。
错误原因:
main方法必须返回void
类型的值
是由于main方法应该始终返回void
的规则 - 这是一个java关键字而不是类类型。
答案 2 :(得分:1)
您必须使用void
代替Void
像这样:
public static void main(String[] args)
答案 3 :(得分:1)
错字错误。
void
而非Void
Void是java中的一个类。来自Docs
Void类是一个不可包含的占位符类来保存 引用表示Java关键字void的Class对象。