1. 문자열 복사
1. System.arraycopy
- parameter = (뭐를, 어디서부터, 어디로, 어디서부터, 몇 개)
int[] arr = {1, 2, 3, 4, 5, 6};
int[] brr = {10, 20, 30, 40, 50, 60};
System.arraycopy(brr, 0, arr, 0, 3);
2. Arrays.copyOf
- parameter = (뭐를, 몇 개)
- 내부적으로 System.arraycopy를 호출
- 복사해서 새로운 객체를 만들어 그대로 할당 = brr을 갈아 엎는다.
int[] arr = {1, 2, 3, 4, 5, 6};
int[] brr = {10, 20, 30, 40, 50};
brr = Arrays.copyOf(arr, arr.length);
//brr = {1, 2, 3, 4, 5, 6}이 됨
2. 문자열 자르기
1. String객체. split()
String s = "hello world!";
//1. 문자 하나씩 자르기
//"h", "e", "l", "l", "o", " ", "w" ...
String[] char_s = s.split("");
//2. 공백 기준으로 자르기
String[] blank_s = s.split(" ");
2. StringTokenizer(String)
메서드 종류
1) hasMoreTokens() : boolean
- 남은 Token이 있으면 true, 없으면 false 반환
2) nextToken() : String
- 다음 토큰 반환
String s = "hello world!, java";
//1. 공백 기준으로 자름
StringTokenizer st = new StringTokenizer(s);
while(st.hasMoreTokens())
System.out.println(st.nextToken());
//2. 구분자를 기준으로 자름
st = new StringTokenizer(s, ",");
3. 문자열을 Char 배열로 받기
1. String객체.toCharArray()
String s = "hello world!, java";
char[] results = s.toCharArray();
4. 문자열 붙이기
1. String객체.concat(문자열)
- 메모리 누수가 심하다.
String s = "hello";
s = s.concat(" world");
System.out.println(s);
//hello world
2. "+" 연산
- 내부적으로는 StringBuilder를 계속 생성하는 구조
String s = "hello";
s = s + " world " + true + 3.3;
System.out.println(s); //hello world true3.3
//내부적으로 아래와 같이 작동
new StringBuilder(new StringBuilder(new StringBuilder(s).append("world").toString()).append(true).toString()).append(3.3).toString();
3. StringBuilder
- 한번에 모아서 출력
StringBuilder sb = new StringBuilder("hello");
//문자열 더하기
sb.append(" world ").append(true);
sb.append(3.3);
//문자열 자르기
sb.setLength(sb.length()-2);
//출력
System.out.println(sb.toString());
'CS > 기타' 카테고리의 다른 글
[JAVA] Math 클래스 (0) | 2022.02.06 |
---|---|
[JAVA] 람다 lambda (0) | 2022.02.06 |
[IT지식] 플랫폼 비지니스 (0) | 2021.12.08 |
[IT지식] 클라우드 (0) | 2021.12.08 |
[IT지식] 4차 산업 혁명 (0) | 2021.12.08 |