同一个坑掉进去两次的问题,对于String类型的字符串时不能修改的问题还是没有记住!
首先明确一个问题,在java中数据类型分为基本数据类型和引用数据类型。其中基本数据类型是值传递的,即在调用方法时是对原先传入的值无影响的,而引用数据类型在传递的却是在堆内存中的地址值。所以在调用方法的时候可以对堆内存的值进行操作。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| public class App{ public static void main(String[] ages){ int a = 10; String str = "tom"; int[] arr = new int[3]; System.out.println(Arrays.toString(arr)); String result = char(str); arr(arr); System.out.println(Arrays.toString(arr)); int value = variable(a); System.out.println(a); System.out.println(value); } public static String char(String str){ str.replace("t","j"); return str; } public static void arr(int[] arr){ for(int i = 1;i <= arr.length;i++){ arr[i] = i; } } public static int variable(int a){ a = 20; return a; } }
|