En Java, il existe deux mécanismes de passage de paramètres : le passage par valeur et le passage par adresse.
Lorsqu'un type de base est passé en paramètre, c'est une copie de la valeur transmise. Peu importe la façon dont vous modifiez cette copie, la valeur d'origine ne changera pas ; -par valeur.
Passer un objet en paramètre copie une copie de l'adresse de l'objet en mémoire et la transmet au paramètre c'est un passage par adresse.
public static void main(String[] args) { int n =3; // ① System.out.println(n); // 3 chageData(n); // ② System.out.println(n); // 3}public static void chageData(int num){ num = 10; // ③}<.>Observez le résultat et constatez que la valeur de n n'a pas changé. Comme n et num sont des types de base, les valeurs sont directement stockées dans des variables. L'organigramme est le suivant (correspondant à ①②③ dans le code) :
public static void main(String[] args) { String str = "hello"; // ① System.out.println(str); // hello chageData(str); //② System.out.println(str); // hello}public static void chageData(String s){ s ="world"; // ③}
public static void main(String[] args) { StringBuffer stb = new StringBuffer("hello"); // ① System.out.println(stb); // hello chageData(stb); // ② System.out.println(stb); // hello world}public static void chageData(StringBuffer s){ s.append("world"); // ③} }
Ce qui précède est le contenu de 14. Bases de Java - Passage de paramètres, veuillez faire attention à plus contenu associé Site Web PHP chinois (www.php.cn) !