web-dev-qa-db-ja.com

Void class in Java

私はクラスJava.lang.Void Javaで。例を挙げて、これについて詳しく説明してください。

56
giri

また、Void.TYPE、リフレクションで戻り値の型をテストするのに便利:

public void foo() {}
...
if (getClass().getMethod("foo").getReturnType() == Void.TYPE) ...
54
axtavt

何かに対してvoidを返すジェネリックが必要だとします。

abstract class Foo<T>
{
    abstract T bar();
}

class Bar
    extends Foo<Void>
{
    Void bar()
    {
        return (null);
    }
}
45
TofuBeer

実際、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;

これを使用して、クラスのカスタムシリアライザーを独自の形式に作成しました。

1
juancancela