この記事では主に java.lang.Void と void の比較と使用法を紹介します。編集者はそれが非常に優れていると思います。必要な方は参考にしてください。
void は関数ではなく、メソッドの修飾子です。 void はメソッドに戻り値がないことを意味します。つまり、メソッドはメソッド内のステートメントを実行するだけで、何も返しません。
java.lang.Void は型です。たとえば、Void 参照に null を割り当てます。
Void nil = null;
Void クラスのコードからわかるように、Void 型は継承およびインスタンス化できません。関数の戻り結果として
public final class Void { /** * The {@code Class} object representing the pseudo-type corresponding to * the keyword {@code void}. */ @SuppressWarnings("unchecked") public static final Class<Void> TYPE = (Class<Void>) Class.getPrimitiveClass("void"); /* * The Void class cannot be instantiated. */ private Void() {} }
Void は、関数が null を返すことを意味します (null 以外の他の型を返すことはできません)。
Void function(int a, int b) { //do something return null; }
ジェネリックが登場する前は、Void は一般にリフレクションで使用されていました。たとえば、次のコードは、戻り値の型が void のメソッドの名前を出力します。
public class Test { public void print(String v) {} public static void main(String args[]){ for(Method method : Test.class.getMethods()) { if(method.getReturnType().equals(Void.TYPE)) { System.out.println(method.getName()); } } } }
ジェネリックの出現後、Void タイプは特定のシナリオで使用されるようになります。たとえば、Future
しかし、操作が値を返さなかった場合はどうなるでしょうか?この場合、Future
さらに、Void は Map
そのため、ジェネリックスを使用する場合、関数は結果を返す必要がなく、オブジェクトが値を必要としない場合は、java.lang.Void 型で表すことができます。
概要
以上がjava.lang.Voidとvoidの使用方法の比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。