はそうのようなWicketでは、最近のコードに出くわした:Wicketではフォーム<Void>(または一般にvoid型の使用)
Form<?> form = new Form<Void>("form")
は、誰もがここにvoid型の使用方法を説明できますか?初めて私はそのタイプが実際に使われているのを見ました。それはWicket外のすべてで使用されていますか?
はそうのようなWicketでは、最近のコードに出くわした:Wicketではフォーム<Void>(または一般にvoid型の使用)
Form<?> form = new Form<Void>("form")
は、誰もがここにvoid型の使用方法を説明できますか?初めて私はそのタイプが実際に使われているのを見ました。それはWicket外のすべてで使用されていますか?
はい、これはWicketの外で使用されています。たとえば、メソッドが引数としてCallable<V>
をとり、Callableが何も返さない場合は、Callable<Void>
を使用します。したがって、一部のパラメータ化されたメソッドが何も返さないことを示すためにVoid
が使用されます。
この特定のケースでは、ドキュメントに従って、フォームにモデルオブジェクトがないことを示すために使用されます。 Void型の唯一の有効な値はnull
です。
Void
「返品したくない」または「何も渡したくない」という表現をタイプパラメータとして使用することがあります。情報を保持していないunit typeです。型パラメータは参照型でなければならず、null
はすべての参照型の値であるため、目的の型は他の値を持たない、つまりインスタンスを持たない型です。 「null型」自体は機能しますが、名前はありません。したがって、インスタンスを持たない任意のクラスを選択し、Void
は便利な選択です。技術的には、ユーティリティクラスMath
やCollections
のような他のインスタンス化不可能なクラスも同様に動作します。 Void
は、void
との関係のために、より適切と思われます。これは、プリミティブ型内でユニットタイプを表現するために使用される型です。