1. Character 메소드
1) isUpperCase, isLowerCase
Character.isUpperCase(c) // t 혹은 f return
2) toUpperCase, toLowerCase
Character.toLowerCase(c) // c를 소문자로 바꾼 결과 return
3) forDigit
int num = 7;
Character.forDigit(num, 10); //num을 10진수를 이용하여 char로 변환, 여기서는 '7'을 return
4) isDigit
Character.isDigit('3');
// character가 숫자이면 true 출력 아니면 false 출력
2. String
1) 개념
문자열을 나타낸다
2) 특징
- java.lang 패키지에 포함된 클래스
- 일단 생성된 스트링 객체는 리터럴로 생성되었든, new String으로 생성되었든 수정이 불가능하다
- 따라서 string과 string을 더하면 새로운 string 객체를 생성해야 한다. -> string과 string을 더하는 시점에 메모리 할당과 메모리 해제가 계속 발생하게 된다.
- 문자(char)의 나열로 구성된 객체이다.
3) 생성 방법
String str1 = "abcd";
String str2 = new String("abcde");
String str3 = new String({'a','b'});
4) 생성할 때 스트링 리터럴과 new String() 의 차이
스트링 리터럴
- heap 메모리 영역안의 특별한 메모리 공간인 String constant pool에 저장된다
- 자바 내부에서 리터럴 테이블로 관리하여 동일한 리터럴 들어오면 동일한 걸 공유시킨다
- 스트링을 생성하는 실행 시간을 줄일 수 있게 해준다
- 일단 생성된 스트링 객체는 수정 불가능하기 때문에 스트링 리터럴로 생성 후 공유해도 문제가 발생하지 않는다
new String()
- new를 이용하여 생성되는 다른 객체와 동일하게 힙 메모리에 생성됨
5) 메소드
charAt
str.charAt(index) //str 중 index에 해당하는 문자를 char 형태로 return
valueOf
String.valueOf(c) // c를 string으로 변환한 string 형태를 return
toLowerCase, toUpperCase
str.toLowerCase() // str을 소문자로 변경한 string 형태를 return
split
String s1 = "abcde";
s1.split(""); //s1을 문자 하나하나씩 분할한 string 배열을 return
String s2 = "a,b,c,d,e";
s1.split(","); //s2를 ,로 구분한 string 배열을 return
equals
String s1 = "abcde";
s1.equals("avc");//s1에 있는 string과 ()안에 있는 string이 같으면 true, 다르면 false return
- string이 같은지 비교할 때는 == 을 사용하면 안 된다
- ==은 객체가 같은지 검사할 때 사용함
concat
String s1 = "abc";
String s2 = "de";
s1.concat(s2); //s1에 s2를 합친 string 결과물을 return, s1과 s2는 그대로 있고 새로운 결과물이 나오게 되는 것
- string은 + 연산자를 통해서도 합칠 수 있다.
replaceAll
String s1 = "sd,df123,df3";
String s2 = s1.replaceAll(",",""); //,를 찾아 ""으로 만든 string을 return
String s1 = "123dfsdf23";
String s2 = s1.replaceAll("[^0-9]",""); //s1에서 숫자가 아닌 문자들을 "" 바꾼 string을 return
join
String[] strArr = {"a","v"};
String.join("",strArr); // strArr을 "" 을 이용해 합친 String return
indexOf
String str1 = "abcde";
int answer = str1.indexOf("a"); // str1에서 a의 위치를 찾아 있으면 해당 index 리턴(앞에서 부터 처음 발견되는 index), 없으면 -1 리턴
toCharArray
String str1 = "abcde";
str1.toCharArray(); //str1을 char로 분해한 charArray를 return
substring
String str = "hello";
str.substring(0,4); // 인덱스 0부터 3까지의 문자열 hell을 리턴
contains
String str = "hello";
str.contains("el"); //str이 "el"을 포함하고 있으면 true, 포함하고 있지 않으면 false 리턴
trim
String str = " s df ";
str.trim(); //str 맨 앞, 맨 뒤에서 공백 제거한 문자열 "s df"를 리턴
repeat
String str = "abc";
str.repeat(3); //str을 3번 반복한 String을 return(예: abcabcabc)
startsWith
String str = "abc";
str.startsWith("ab"); // true 리턴
'자바' 카테고리의 다른 글
[자바 개념] switch (0) | 2023.01.12 |
---|---|
[자바 개념] Math (0) | 2023.01.12 |
[자바 개념] 배열, Arrays, ArrayList (0) | 2023.01.11 |
[자바 개념] Wrapper (0) | 2023.01.11 |
[자바 개념] Collection과 Collections (0) | 2023.01.06 |