char[]와 메서드(기능)를 결합한 것이고, 내용을 변경할 수 없다.(read only)
String a="a";
String b="b";
a=a+b;
➡️ a+b는 "ab"이다. 이때 a가 가리키고 있는 값이 바뀌는게 아니라 ab라는 결과가 있는 주소를 a가 가리키게 된다.
1차원 배열의 경우 toString(), 다차원배열의 경우 deepToString() 이용
int[] arr={0, 1, 2, 3, 4};
int[][] arr2D={{11, 22}, {21, 22}};
System.out.println(Arrays.toString(arr)); //[0, 1, 2, 3, 4]
System.out.println(Arrays.deepToString(arr2D)); //[[11, 22], [21, 22]]
1차원 배열의 경우 equals(), 다차원배열의 경우 deepEquals() 이용
String[][] str2D = new String[][]{{"aaa", "bbb"}, {"AAA", "BBB"}};
String[][] str2D2 = new String[][]{{"aaa", "bbb"}, {"AAA", "BBB"}};
System.out.println(Arrays.equals(str2D, str2D2)); //false
System.out.println(Arrays.deepEquals(str2D, str2D2)); //true
copyOf(배열이름, 복사할 원소 개수), copyOfRange(배열이름, 시작index, 끝 index) 이용
복사할 요소의 개수가 더 큰 경우 뒤에는 다 0으로 채워준다.
int[] arr={0, 1, 2, 3, 4};
int[] arr2=Arrays.copyOf(arr, arr.length);
int[] arr3=Arrays.copyOf(arr, 3); //arr3=[0, 1, 2]
int[] arr4=Arrays.copyOfRange(arr, 2, 4); //arr4=[2, 3]
sort() 이용. 오름차순으로 정렬이 된다.
int[] arr={3, 2, 0, 1, 4};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); //[0, 1, 2, 3, 4]
[출처]
자바의 정석- https://www.youtube.com/playlist?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp