ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Java - 자바 String 사용법
    Java 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
    반응형

    댓글

Designed by Tistory.