Java

[Java] String 클래스, 관련 메소드

2023. 4. 20. 13:15
목차
  1. 1. String형 변수 선언
  2. String은 불변(immutable)
  3. 2. Methods
  4. length()
  5. charAt(int index)
  6. isEmpty()
  7. trim()
  8. toUpperCase(), toLowerCase()
  9. substring(int index1, int index2)
  10. startsWith(String str) , endsWith(String str)
  11. indexOf(String str)
  12. lastIndexOf(String str)
  13. replace(String str1, String str2)
  14. concat(String str)
  15. 3. String 변환
  16. 1) String->Integer
  17. 2) Integer->String
  18. 3) Byte[ ]->String
  19. 4) String -> toCharArray

1. String형 변수 선언

String str1 = new String("hello");//힙 메모리에 인스턴스로 생성됨
String str2 = "hello";//상수 풀(constant pool)에 있는 주소를 참조
  • 힙 메모리에 생성되는 str1은 생성 될때마다 다른 주소값을 가진다.
  • 상수풀의 문자열은 모두 같은 주소값을 가진다.
// 힙 메모리의 인스턴스로 생성
String str1 = new String("hello");
String str2 = new String("hello");
System.out.println(str1 == str2);//false
System.out.println(str1.equals(str2));//true
//상수 풀의 주소를 참조
String str3 = "abc";
String str4 = "abc";
System.out.println(str3 == str4);//true
System.out.println(str3.equals(str4));//true

String은 불변(immutable)

  • String 클래스는 final로 선언되어있다.
  • 한번 생성된 String은 불변하다.
  • String 두개를 연결하면 기존의 String에 연결되는것이 아니라 새로운 문자열이 생성된다.
  • 메모리 낭비가 발생한다.

2. Methods

length()

  • String의 길이를 반환
  • 배열은 arr.length 이다. 괄호 유무 차이가 있다.

charAt(int index)

  • 인덱스의 문자를 char 형으로 꺼낸다.

isEmpty()

  • 문자열이 비어있으면 true를 반환한다.

trim()

  • 문자열의 앞뒤 공백을 제거한다. ( 사이 공백 x )

toUpperCase(), toLowerCase()

  • 각각 문자열을 대문자, 소문자로 변경한다.

substring(int index1, int index2)

  • index1부터 index2 바로 앞 까지의 문자열을 뽑아낸다.

startsWith(String str) , endsWith(String str)

  • 문자열이 str로 시작하거나, 끝나면 true를 반환

indexOf(String str)

  • str이 처음으로 존재하는 index를 반환

lastIndexOf(String str)

  • str이 마지막으로 존재하는 index를 반환

replace(String str1, String str2)

  • str1을 str2로 교체한다.

concat(String str)

  • 기존 문자열 뒤에 str을 붙인다.

3. String 변환

1) String->Integer

String strData1 = "200";
int intdata1 = Integer.parseInt(strData1);

2) Integer->String

int intData2 = 150;
String strData2 = String.valueOf(intData2);    

3) Byte[ ]->String

byte[] bytes = { 73, 32, 108, 111, 118, 101, 32, 121, 111, 117 };    //아스키코드
String str = new String(bytes);

4) String -> toCharArray

String str1 = "(hello)";
char[] arr = str1.toCharArray();
반응형

'Java' 카테고리의 다른 글

[JAVA] 생성자 / 오버로딩(overloading)  (0) 2023.05.17
[Java] StringTokenizer  (0) 2023.05.04
[Java] Optional<T> 클래스  (0) 2023.05.03
[JAVA] Object 클래스_toString() 메서드  (0) 2023.02.05
[JAVA] 인터페이스(interface)  (0) 2023.02.03
  1. 1. String형 변수 선언
  2. String은 불변(immutable)
  3. 2. Methods
  4. length()
  5. charAt(int index)
  6. isEmpty()
  7. trim()
  8. toUpperCase(), toLowerCase()
  9. substring(int index1, int index2)
  10. startsWith(String str) , endsWith(String str)
  11. indexOf(String str)
  12. lastIndexOf(String str)
  13. replace(String str1, String str2)
  14. concat(String str)
  15. 3. String 변환
  16. 1) String->Integer
  17. 2) Integer->String
  18. 3) Byte[ ]->String
  19. 4) String -> toCharArray
'Java' 카테고리의 다른 글
  • [Java] StringTokenizer
  • [Java] Optional<T> 클래스
  • [JAVA] Object 클래스_toString() 메서드
  • [JAVA] 인터페이스(interface)
HSRyuuu
HSRyuuu
Web Backend Developer happyhsryu
HSRyuuu
HS_dev_log
HSRyuuu
전체
오늘
어제
  • 전체 글 보기 (233)
    • Java (25)
    • Spring (27)
    • JPA & QueryDSL (13)
    • Database (17)
    • 자료구조 & 알고리즘 (30)
    • DevOps (10)
    • [ Computer Science ] (47)
      • Web & Network (14)
      • 프로그래밍 이론 (11)
      • 운영체제 (3)
      • 데이터베이스 이론 (5)
      • Linux 리눅스 (7)
    • [ Frontend ] (17)
      • Vue.js & Nuxt.js (9)
      • JSP_Thymeleaf (7)
    • [ 기타 ] (47)
      • 오픈소스 라이브러리 (5)
      • 코딩테스트 (13)
      • Trouble Shooting (7)
      • Tech Interview (6)
      • Book Review (9)
      • 끄적끄적... (5)
      • 개인 프로젝트 (2)

블로그 메뉴

  • 홈
  • 태그
  • github

공지사항

  • GitHub
  • 공부한 내용을 정리하고 기록하는 블로그 입니다.

인기 글

태그

  • Redis
  • 백엔드공부
  • vue3
  • Spring
  • 백준
  • Java
  • Redisson
  • 자료구조
  • HTTP
  • 백엔드
  • cleancode
  • 백엔드기술면접
  • Linux
  • TechInterview
  • springsecurity
  • JPA
  • 기술면접
  • 제로베이스
  • Database
  • 트랜잭션
  • Nuxt3
  • 클린코드
  • 개발자
  • mybatis
  • 리눅스
  • 백엔드스쿨
  • web
  • SpringBoot
  • SQL
  • MySQL

최근 댓글

최근 글

hELLO · Designed By 정상우.
HSRyuuu
[Java] String 클래스, 관련 메소드
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.