关于String参数传递的理解

xiaoxiao2022-06-11  36

1 基本类型 一定是值传递的 在函数里面变一定是没用的

 

2 对象类型 一定是引用传递的 在函数里面变一定是有用的

(所以StringBuffer有用)

 

3 数组类型 在函数里面变没用!

例如

public class BasedClass { public static void main(String[] args) { int[] i = new int[]{1,2}; System.out.println(Arrays.toString(i)); changeIntArray(i); System.out.println(Arrays.toString(i)); } private static void changeIntArray(int[] i){ i = new int[]{2,3}; } }

 

要变 只能这样变

 

private static void changeIntArray2(int[] i){ i[0] = 7; i[1] = 8; }  

4 String 本质上是一个char[] (参考其源代码可知)

所以在函数里变也是没用的

 

 

转载请注明原文地址: https://www.6miu.com/read-4931825.html

最新回复(0)