Java

[Java] String 클래스

Bay Im 2024. 3. 11. 16:17
  • String 클래스
    • 문자열 저장 클래스 타입
    • 문자열은 쌍따옴표 안에 표기
    • 객체 내의 값 변경 불가, 변경시 새로운 객체를 생성하여 작성
    • 리터럴을 바로 입력한 데이터는 문자열이 같을 때 하나의 객체를 공유
    • 객체 생성 방법
      • new 키워드 사용
        • String 변수명 = new String(”문자열”);
      • 변수에 바로 문자열 리터럴 입력
        • String 변수명 = “문자열”;
    • String 객체의 + 연산
      • 연산자로(+=) 문자열 연결 가능
  • String의 주요 메서드
    • 문자열 길이
      • length()
    • 문자열 검색
      • charAt(index)
        • int 형인 index 값을 넣으면 해당 인덱스 위치의 문자 출력
      • indexOf(int or String)
        • int나 String 값을 넣으면 문자열의 위치나 문자열에 포함된 문자를 앞에서 부터 검색하여 일치하는 인덱스 값 출력
        • 문자열 검색 시 다 소문자로 바꾼 후에 검색하는 것이 좋다.
          • ex) toLowerCase().indexOf("검색할문자열")
      • lastIndexOf(int or String)
        • 위랑 비슷하지만 뒤에서부터 검색
    • 문자열 변환 및 연결
      • String.valueOf()
        • boolean, char, int, long, float, double 값을 문자열로 변환하기 위한 정적 메서드
      • concat(string)
        • String 값을 넣으면 문자열을 연결
      • Integer.parseInt(string)
        • 문자열을 넣으면 정수형으로 변환
        • ex) Integer.parseInt(”10”)
    • 문자열 배열 변환
      • toCharArray()
        • 문자열을 char[]으로 변환
      • Arrays.toString()
        • 배열을 문자열로 변환해주는 함수
    • 문자열 수정
      • toLowerCase()
        • 영문자를 모두 소문자로 변환
      • toUpperCase()
        • 영문자를 모두 대문자로 변환
      • replace(oldChar, newChar)
        • oldChar 문자열을 newChar 문자열로 대체한 문자열 생성
      • substring(beginIndex, endIndex)
        • beginIndex부터 끝까지나, endIndex-1 위치까지의 문자열 생성
      • split(regex)
        • string 형인 regex를 기준으로 문자열을 분할하여 분할한 문자열 배열 생성
        • regex는 | 기호로 여러 개 사용 가능
          • ex) split(”/|-| “) ⇒ / 또는 - 또는 “ “을 기준으로 분리
        • split(regex, limit) 형태에서 limit은 분할의 최대 개수 지정 가능
      • trim()
        • 문자열의 앞뒤 공백 제거 (가운데 공백은 미제거)
        • 모든 공백을 제거하고 싶을 때는 replaceAll(" ", "") 이용
    • 문자열 내용 비교
      • equals()
        • 문자열의 실제 내용 비교 (값 비교)
        • == 은 주소 값 비교이다.
      • equalsIgnoreCase(anotherString)
        • 대소문자 구분없이 문자열의 실제 내용 비교
      • constains(string)
        • 입력한 string 문자열을 포함하는지 true/false로 반환

'Java' 카테고리의 다른 글

[Java] Scanner 클래스  (0) 2024.03.11
[Java] 연산자  (0) 2024.03.11
[Java] 형변환  (0) 2024.03.11
[Java] 변수, 자료형  (0) 2024.03.11
[Java] psvm, 주석, 출력문  (0) 2024.03.11