なぜVarargsを使用したJavaメソッドが過渡的であると特定されたのですか?

StackOverflow https://stackoverflow.com/questions/4936803

  •  30-10-2019
  •  | 
  •  

質問

私はJava Reflection APIで遊んでいて、Variadic引数リストを持つ方法が一時的になることを観察しました。なぜそれは何ですか transient このコンテキストでのキーワードの意味は?

Java Glossaryから、 一時的:

フィールドがオブジェクトのシリアル化された形式の一部ではないことを示すJavaプログラミング言語のキーワード。オブジェクトがシリアル化されている場合、その過渡フィールドの値はシリアル表現に含まれていませんが、非転換フィールドの値は含まれています。

ただし、この定義は方法について何も述べていません。何か案は?

import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

public class Dummy {
    public static void main(String[] args) {
        for(Method m : Dummy.class.getDeclaredMethods()){
            System.out.println(m.getName() + " --> "+Modifier.toString(m.getModifiers()));
        }
    }

    public static void foo(int... args){}
}

出力:

main --> public static
foo --> public static transient

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top