Pourquoi les méthodes Java avec Varargs identifiées comme transitoires?
-
30-10-2019 - |
Question
Je jouais avec Java Reflection API et j'ai observé que les méthodes avec la liste d'arguments variadiques deviennent transitoires. Pourquoi est-ce et qu'est-ce qui fait transient
Le mot clé signifie dans ce contexte?
Du glossaire Java, transitoire:
Un mot-clé dans le langage de programmation Java qui indique qu'un champ ne fait pas partie de la forme sérialisée d'un objet. Lorsqu'un objet est sérialisé, les valeurs de ses champs transitoires ne sont pas incluses dans la représentation série, tandis que les valeurs de ses champs non transitoires sont incluses.
Cependant, cette définition ne dit rien sur les méthodes. Des idées?
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){}
}
Les sorties:
main --> public static
foo --> public static transient
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow