JAVA

String 클래스의 메서드

D_Helloper 2023. 6. 2. 22:56

String의 메서드 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)
기본 타입 값을 문자열로 리턴합니다.

문자 추출(chatAt())

  • 매개변수로 주어진 인덱스의 문자 리턴
  • 인덱스는 0에서부터 문자열 길이 -1 까지의 번호
String str = "Hello Developer";
char charidx = str.charAt(3);

// 결과 
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
// H e l l o   D e v e l  o  p  e  r
// 3 : l

문자열 비교(equals())

  • 기본 타입의 변수값을 비교할 때는 == 을 사용하여 주소 값을 비교하지만, 문자열을 비교할 때는 재정의 된 equals()를 사용
String str = "DH";
String str2 = "DH";
String str3 = new String("DH");

str == str2 //true
str == str3 //false

str.equals(str2) // true
str.equals(str3) // true

바이트 배열로 변환(getBytes())

  • 네트워크로 문자열을 전송하거나 문자열을 암호화할 때 바이트를 사용하는 경우가 있음
  • 시스템의 기본 문자셋으로 바이트 배열을 리턴.
byte[] bytes = str.getBytes();
byte[] bytes = str.getBytes(Charset charset);
  • 특정 문자셋으로 인코딩 된 바이트 배열이 필요할 경우 아래와 같이 사용할 수 있음
byte[] bytes1 = str.getBytes("EUC-KR");
byte[] bytes2 = str.getBytes("UTF-8");

문자열 찾기(indexOf())

  • indexOf()는 매개값으로 전달된 문자열이 시작되는 인덱스 리턴, 만약 해당 문자열이 없으면 -1 리턴
String str = "Hello Developer";
int index = str.indexOf("Developer");

// 결과
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
// H e l l o   D e v e l  o  p  e  r
// Developer가 시작하는 6 리턴

문자열 길이(length())

  • length()는 문자열의 길이를 리턴
String str = "Hello Developer";
int length = str.length();

// 결과
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
// H e l l o   D e v e l  o  p  e  r
// 문자열의 길이 14가 length 변수에 저장

문자열 대치(replace())

  • 첫 번째 매개값인 문자열을 찾아 두 번째 매개값인 문자열로 대치한 새로운 문자열을 생성하고 리턴
String str = "Hello Developer";
String str2 = str.replace("Hello", "Hi");

// 결과
// str2에 Hi Developer가 저장
  • String은 변경 불가능한 특성을 갖기 때문에 수정본이 아닌 새로운 문자열을 생성하여 리턴

문자열 자르기(substring())

  • 주어진 인덱스에서 문자열 추출
  • substring(int beginIndex, int endIndex)는 시작과 끝 사이의 문자열 추출
  • substring(int beginIndex) 는 주어진 인덱스부터 끝까지 추출
String str = "Hello Developer";
String first = str.substring(0,4);
String second = str.substring(6);
// 결과
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
// H e l l o   D e v e l  o  p  e  r
// first에는 0부터 4까지인 Hello가 저장
// second에는 6부터 마지막 14번까지인 Developer가 저장

알파벳 대소문자 변경(toLowerCase(), toUpperCase())

  • toLowerCase()는 모두 소문자로 바뀐 문자열을 생성한 후에 리턴
  • toUpperCase()는 모두 대문자로 바뀐 문자열을 생성한 후에 리턴
String str = "Hello Developer";
String lower = str.toLowerCase();
String upper = str.toUpperCase();

// 결과
// lower에는 hello developer 가 저장
// upper에는 HELLO DEVELOPER 가 저장

문자열 앞 뒤 공백 잘라내기(trim())

  • 앞 뒤 공백을 제거한 새로운 문자열을 생성한 후에 리턴
  • 중간의 공백은 제거하지 않음
String str = "    Hello Developer      ";
String strTrim = str.trim();
// 결과
// strTrim에 앞 뒤 공백이 잘린 Hello Developer 저장

문자열 변환(valueOf())

  • 기본 타입의 값을 문자열로 변환
static String valueOf(boolean b)
static String valueOf(char c)
static String valueOf(int i)
static String valueOf(long l)
static String valueOf(double d)
static String valueOf(float f)