Java

Java - 자바 String 사용법

codeManager 2022. 6. 9. 18:46
반응형

안녕하세요.

 

이번 포스팅은 자바에서 문자열을 다룰 때 쓰는 String 클래스에 대해서 알아보겠습니다.

 

 

객체 선언 및 정의

 

String str = "Hello";
String str2 = new String("Hello");

 

문자열 길이

 

String str = "hello";
System.out.println(str.length()); // 5 출력

 

문자열 더하기

String concat(String str)

- str 문자열을 현재 문자열 뒤에 붙인다.

 

문자열은 + 연산자로도 붙일 수 있다.

 

String str1 = "Hello" + " World";
String str2 = "Hello".concat(" World");
System.out.println(str1);
System.out.println(str2);

 

empty 체크

문자열의 길이가 0일때 true입니다. 

 

String str = new String();
System.out.println(str.isEmpty()); //true
String str2 = "";
System.out.println(str2.isEmpty()); // true
String str3 = "abc";
System.out.println(str3.isEmpty()); // false

 

문자열에서 char 값이 필요할 때

char charAt(int index)

- 문자열의 해당 index에 해당하는 char를 return한다.

char[ ] toCharArray()

- 문자열을 char 배열로 변환한다.

 

주로 문자열 루프돌면서 처리할때 자주 쓰인다.

 

String str1 = "abc";
char[] charArray = str1.toCharArray();
for (int i = 0; i < charArray.length; i++) {
	System.out.println(charArray[i]);
}
for (int i = 0; i < str1.length(); i++) {
	System.out.println(str1.charAt(i));
}

 

결과

a
b
c
a
b
c

 

문자열 비교

boolean equals(Object object)

- 문자열이 동일하면 true를 return한다.

 

String str1 = "abcd";
String str2 = "abcd";
System.out.println(str1.equals(str2)); //true

 

 

Tip: equals는 위의 코드와 같은 방식은 NullPointException이 발생할 수 있으므로

org.apache.commons.lang.StringUtils를 사용하거나 아래와 같이 작성한다.

 

public boolean isAA(String str) {
  if ("AA".equals(str)) {
      return true;
  }
  return false;
}

 

문자열 검색

int indexOf(String str)

- 해당 문자열의 위치를 return한다 (없으면 -1 return)

boolean contains(CharSequence s)

- 해당 문자열을 포함하고 있는지 여부

boolean startsWith(String prefix)

- prefix 문자열로 시작하는지 여부

boolean endsWith(String suffix)

- suffix 문자열로 끝나는지 여부

 

String str1 = "abcd";

System.out.println(str1.indexOf("c")); // 2
System.out.println(str1.indexOf("e")); // -1

System.out.println(str1.contains("a")); // true
System.out.println(str1.contains("e")); // false

System.out.println(str1.startsWith("ab")); // true
System.out.println(str1.startsWith("abd")); // false

System.out.println(str1.endsWith("cd")); // true
System.out.println(str1.startsWith("acd")); // false

 

 

문자열 나누기

String[] split(String regex)

- 정규표현식을 기준으로 문자열을 나눈다.

 

String str ="AA;BB;CC";
String[] arr = str.split(";");
for (int i = 0; i < arr.length; i++) {
	System.out.println(arr[i]);
}

 

결과

AA
BB
CC

 

 

문자열 치환

String replace(char oldChar, char newChar)

- oldChar 문자열을 newChar 문자열로 바꾼다.

 

String str1 = "ABCAADDEA";
String str2 = str1.replace("A", "a"); // str1의 모든 A 문자열을 a 로 바꾼다. 
System.out.println(str2); // aBCaaDDEa

 

 

형변환

String valueOf(int i)

String valueOf(double d)

String valueOf(boolean b)

...

- int값을 String으로 변환한다.

boolean, double, long, float, char 등도 제공한다. 

 

int i = 1;
String str1 = String.valueOf(i);
System.out.println(str1); // 1

double d = 0.2;
String str2 = String.valueOf(d);
System.out.println(str2); // 0.2
반응형