我不清楚java.lang.Void
Java中的类。任何人都可以举例说明这一点。
问问题
46678 次
4 回答
62
它还包含Void.TYPE
,对于使用反射测试返回类型很有用:
public void foo() {}
...
if (getClass().getMethod("foo").getReturnType() == Void.TYPE) ...
于 2010-02-28T20:07:48.657 回答
51
假设你想要一个泛型返回 void 的东西:
abstract class Foo<T>
{
abstract T bar();
}
class Bar
extends Foo<Void>
{
Void bar()
{
return (null);
}
}
于 2010-02-28T20:04:56.687 回答
1
实际上,有一个实用案例 void.class 非常有用。假设您需要为类字段创建注释,并且您需要定义字段的类以获取有关它的一些信息(例如,如果字段是枚举,则获取潜在值的列表)。在这种情况下,你需要这样的东西:
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface PropertyResourceMapper
{
public Class acceptedValues() default void.class;
}
像这样使用:
@PropertyResourceMapper(acceptedValues = ImageFormat.class, description = "The format of the image (en example, jpg).")
private ImageFormat format;
我用它来创建一个自定义的类序列化器到一个专有格式。
于 2014-07-31T18:44:30.803 回答
-2
来自Java 文档:
public final class Void
extends Object
Void 类是一个不可实例化的占位符类,用于保存对表示 Java 关键字 void 的 Class 对象的引用。
static Class<Void> TYPE
表示原始 Java 类型 void 的 Class 对象。
TYPE
public static final Class<Void> TYPE
表示原始 Java 类型 void 的 Class 对象。
于 2010-08-14T20:44:13.710 回答