TIL

[TIL] 20240115 Java String 클래스

yjyj0101 2024. 1. 15. 18:52

1. String 클래스 

  • 문자열을 다루는 String 클래스, 다양한 메소드 존재

 

2. 자주 쓰는 10가지 메소드

리턴 타입 메소드 이름(매개 변수) 설명
char charAt(int index) 특정 위치의 문자를 리턴합니다.
boolean equals(Object anObject) 두 문자열을 비교합니다.
byte[] getBytes() byte[]로 리턴합니다.
byte[] getBytes(Charset charset) 주어진 문자셋으로 인코딩한 byte[]로 리턴합니다.
int indexOf(String str) 문자열 내에서 주어진 문자열의 위치를 리턴합니다.
int length() 총 문자의 수를 리턴합니다.
String replace(CharSequence target, CharSequence replacement) target 부분을 replacement로 대치한 새로운 문자열을 리턴합니다.
String substring(int beginIndex) beginIndex 위치에서 끝까지 잘라낸 새로운 문자열을 리턴합니다.
String substring(int beginIndex, int endIndex) beginIndex 위치에서 endIndex 전까지 잘라낸 새로운 문자열을 리턴합니다.
String toLowerCase() 알파벳 소문자로 변환한 새로운 문자열을 리턴합니다.
String toUpperCase() 알파벳 대문자로 변환한 새로운 문자열을 리턴합니다.
String trim() 앞뒤 공백을 제거한 새로운 문자열을 리턴합니다.
String valueOf(int i)
valueOf(double d)
기본 타입 값을 문자열로 리턴합니다.

 

+ concat(), isEmpty(), spilt(), toCharArray(), 

 

3. 문자열을 동적을 생성해야 하는 경우

  • 사용자 입력처리
  • 파일 처리 :  파일 크기가 매우 크거나 파일 내용이 동적으로 변경될 수 있음
  • 데이터베이스 처리 : 데이터베이스에서 조회한 결과를 문자열로 변환하여 처리
  • 웹 어플리케이션 처리 : 동 적으로 생성된 HTML, CSS, JavaScript 코드를 보여줘야 하는 경우
  • 로그 처리 :  로그 파일에 저장할 메시지를 문자열로 생성하여 저장해야 하는 경우

 

 

4. StringBuffer와 StringBuilder

한번 생성된 문자열은 변경될 수 없다. -> 버퍼와 빌드이용해서 해결

  • StringBuffer

       내부적으로 문자열 편집을 위한 buffer를 가지고 있으며, 인스턴스 생성 시 그 크기를 지정할 수 있다. 지정하지 않을 경우 기본적으로 16개의 문자를 저장할 수 있는 공간이 생김

  • StringBuilder

      StringBuffer와 같다. 단, 멀티 스레드 환경일 경우 StringBuffer, 스레드 동기화가 필요 없는 싱글 스레드 환경일 경우, StringBuilder를 사용하면 된다.

  • 메서드
int capacity()
int length()
void setLength(int newLength)
char charAt(int index)
StringBuffer append(String str)
StringBuffer delete(int start, int end)
StringBuffer insert(int offset, String str)
StringBuffer replace(int start, int end, String str)
StringBuffer reverse()

출처: https://kadosholy.tistory.com/113 [KADOSHoly:티스토리]

 

 

 

 

 

 

 

 

 

 

 

 

출처 : https://hongong.hanbit.co.kr/java-%EC%9E%90%EB%B0%94-%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84-%EB%8B%A4%EB%A3%A8%EB%8A%94-string-%ED%81%B4%EB%9E%98%EC%8A%A4-%EB%A9%94%EC%86%8C%EB%93%9C-%EC%B4%9D%EC%A0%95%EB%A6%AC/

 

[Java] 자바 문자열을 다루는 String 클래스 메소드 총정리

문자열 리터럴은 String 객체로 자동 생성되지만, String 클래스의 다양한 생성자를 이용해서 직접 String 객체를 생성할 수도 있습니다. String 객체는 문자열 조작을 위한 많은 메소드를 가지고 있습

hongong.hanbit.co.kr

https://kurukurucoding.tistory.com/45

 

[자바] 문자열 클래스 - String / StringBuffer / StringBuilder의 차이점

개요 이 포스트는 JAVA에서 사용하는 문자열 클래스를 포스팅합니다. java.lang.String java.lang.StrringBuffer java.lang.StringBuilder 위 클래스들의 차이점을 알아보고 언제 사용하는지에 대해 알아보겠습니다

kurukurucoding.tistory.com

 

'TIL' 카테고리의 다른 글

[TIL] 20240119 Spring 영속성 컨텍스트  (0) 2024.01.19
[TIL] 20240118 Spring Ioc, DI  (0) 2024.01.18
[TIL] 20240112 singleton 패턴  (0) 2024.01.12
[TIL] 20240110 Java 예외처리와 트랜잭션  (0) 2024.01.10
[TIL] 20240109 Java 스트림  (1) 2024.01.09