ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA] String클래스의 생성자와 메서드
    Development/JAVA 2022. 8. 5. 17:31
    728x90
    반응형
    • String(String s) : 주어진 문자열(s)을 갖는 String 인스턴스를 생성한다. (생성자)
    String s = new String("Hello");
    // s = "Hello"
    • String(char [] value) : 주어진 문자열(value)을 갖는 String 인스턴스를 생성한다. (생성자)
      • char []를 String으로 변경하려면 String()을 사용하면 됩니다.
      • String을 char []로 변경하려면 toCharArray()를 사용하면 됩니다.
    char[] c = {'H','e','l','l','o'};
    String s = new String(c);
    // s = "Hello"
    • String(StringBuffer sb) : StringBuffer 인스턴스의 문자열과 같은 내용의 String 인스턴스를 생성한다. (생성자)
      • StringBuffer는 내용 변경이 가능한 문자열이다.
      • StringBuffer를 String으로 변경하려면 String(StringBuffer sb)를 사용하면 된다.
      • String을 StringBuffer로 변경하려면 StringBuffer(String str)을 사용하면 된다.
    StringBuffer sb = new StringBuffer("Hello");
    String str = new String(sb);
    // str = "Hello"
    • char charAt(int index) : 지정된 위치(index)에 있는 문자 1개를 알려준다.
    String s1 = "Hello";
    String s2 = "0123456";
    
    char c1 = s1.charAt(1);
    char c2 = s2charAt(3;
    // c1 = 'e' // c2 = '3'
    • int compareTo(String str) : 문자열(str)과 사전 순서로 비교해서 같으면 0, 이전 순서이면 -1, 이후 순서면 1을 반환한다.
      • String A.compareTo(String B) : B를 기준으로 A가 사전 순서로 앞에 있는지 뒤에 있는지 확인
    int i1 = "aaa".compareTo("aaa");
    int i2 = "aaa".compareTo("bbb");
    int i3 = "bbb".compareTo("aaa");
    // i1 = 0  i2 = -1  i3 = 1;
    • String concat(String str) : 문자열(str)을 뒤에 덧붙인다.
    String s1 = "Hello";
    String s2 = s.concat(" World");
    // s2 = "Hello World"
    • boolean contains(charSequence s) : 지정된 문자열(s)이 포함되어 있는지 검사한다.
    String s = "Hello";
    boolean b1 = s.contains("as");
    boolean b2 = s.contains("el");
    // b1 = false  b2 = true
    • boolean equals(Object obj) : 매개변수로 받은 문자열과 String 인스턴스의 문자열을 비교한다.
      • 원래 equals는 주소를 비교하지만 String에서는 자체 오버 링딩이 되어있기 때문에 값을 비교한다.
    String s = "Hello";
    boolean b1 = s.equals("HELLO");
    boolean b2 = s.equals("Hello");
    // b1 = false  b2 = true
    • boolean equalsIgnoreCass(String str) : 문자열(str)과 String 인스턴스의 문자열을 대소문자 구분 없이 비교한다.
    String s = "Hello";
    boolean b1 = s.equalsIgnoreCase("HELLO");
    boolean b2 = s.equalsIgnoreCase("hello");
    // b1 = true    b2 = true
    • int  indexOf(int ch) : 주어진 문자(ch)가 문자열에 존재하는지 확인하여 위치를 반환한다.
      • 존재하지 않는다면 -1을 반환한다.
    String s = "Hello";
    int idx1 = s.indexOf('o'); // 4
    int idx2 = s.indexOf('z'); // -1
    • int indexOf(int ch, int pos) : 주어진 문자(ch)가 문자열에 존재하는지 지정된 위치(pos)부터 확인하여 위치를 반환한다.
      • 존재한다면 실제 인덱스 번호를 반환하며 없다면 -1을 반환한다.
    String s = "Hello";
    int idx1 = s.indexOf('e',0); // 1
    // 0번째 인덱스('H')부터 찾으며 'e'는 1번에 존재한다.
    int idx2 = s.indexOf('e',2); // -1
    // 2번째 인덱스('l')부터 찾으며 앞으로 'e'가 존재하지 않는다.
    • int indexOf(String str) : 주어진 문자열(str)이 존재하는지 확인하여 문자열 첫 번째의 위치를 반환한다.
      • 존재하지 않는다면 -1을 반환한다.
    String s = "ASDFG";
    int i1 = s.indexOf("DF"); // 2
    • boolean endsWith(String suffix) : 지정된 문자열(suffix)로 끝나는지 확인한다.
    • boolean startsWith(String suffix) : 지정된 문자열(suffix)로 시작하는지 확인한다.
    String file = "Hello.txt";
    boolean e1 = file.endsWith("txt"); // true
    boolean e2 = file.endsWith("Hello"); // false
    boolean s1 = file.startsWith("Hello"); // true
    boolean s2 = file.startsWith("He"); // true
    • int lastIndexOf(int ch) : 지정된 문자 또는 문자코드를 문자열의 오른쪽 끝에서부터 찾아서 위치를 반환한다.
      • 존재하지 않는다면 -1을 반환한다.
    String s = "java.lang.java";
    int idx1 = s.lastIndexOf('.') // 9
    int idx2 = s.indexOf('.') // 4
    • int lastIndexOf(String str) : 지정된 문자열을 인스턴스의 문자열 오른쪽 끝에서부터 찾아서 위치를 반환한다.
      • 존재하지 않는다면 -1을 반환한다.
    String s = "java.lang.java";
    int idx1 = s.lastIndexOf("java"); // 10
    int idx2 = s.indexOf("java"); // 0

     

    • int length() : 문자열의 길이를 반환한다.
    String s = "Hello";
    s.length(); // 5
    • String [] split(String regex) : 문자열을 지정된 구분자(regex)로 나누어 문자열 배열에 담아 반환한다.
    String animals = "dog,cat,bear";
    String[] arr = animals.split(",");
    // arr[0] = "dog", arr[1] = "cat", arr[2] = "bear"
    • String [] split(String regex, int limit) : 문자열을 지정된 구분자(regex)로 나누어 문자열 배열에 담아 반환한다.
      • 단, 문자열 전체를 지정된 수(limit)로 자른다.
      • limit가 1이면 나누어지지 않고 원래 문자열이 그대로 0번 인덱스에 들어간다.
    String animals = "dog,cat,bear";
    String[] arr1= animals.split(",",2);
    // arr1[0] = "dog", arr1[1] = "cat,bear"
    
    String[] arr2 = aniamls.split(",",4);
    // arr2[0] = "dog", arr2[1] = "cat", arr2[2] = "bear"
    • String substring(int begin) : 문자열에 선언한 위치(begin)부터 끝까지의 문자열을 반환한다.
    • String substring(int begin, int end) : 문자열에 선언한 위치(begin)부터 마지막 위치(end) 전까지의 문자열을 반환한다.
      • begin <= x < end
    String s = "java.lang.Object";
    String c = s.substring(10); // "Object"
    String d = s.substring(5,9); // "lang"
    • String toLowerCase() : String 인스턴스에 저장되어 있는 문자열을 소문자로 변환하여 반환한다.
    • String toUpperCase() : String 인스턴스 엥 저장되어 있는 문자열을 대문자로 변환하여 반환한다.
    String s = "HELlo";
    String s1 = s.toLowerCase(); // "hello"
    String s2 = s.toUpperCase(); // "HELLO"
    • String trim() : 문자열의 외쪽 끝과 오른쪽 끝에 공백을 없앤 결과를 반환한다.
      • 문자열 사이에 있는 공백은 제거되지 않는다.
    Stirng s1 = "     Hello Im Java";
    String s2 = s1.trim(); // "Hello Im Java"
    • static String.valueOf(value) : 지정된 값(value)을 문자열로 변환하여 반환한다.
      • value가 참조 변수일 경우 toString()을 호출한 결과를 반환한다.
      • value에 들어갈 수 있는 타입은 boolean, char, char [], double, float, int, long, Object, String이다.
    String s1 = String.valueOf(true); // "true"
    String s2 = String.valueOf("A"); // "A"
    String s3 = String.valueOf(10); // "10"
    String s4 = String.valueOf(10L); // "10"
    String s5 = String.valueOf(10.0f); // "10.0"
    String s6 = String.valueOf(10.0); // "10.0"
    
    int[] iArr = {1,2,3,4,5};
    String s7 = String.valueOf(iArr); // [I@c655221
    
    Date dd = new Date();
    String date = String.valueOf(dd); // Fri Aug 05 08:28:21 GMT 2022
    728x90
    반응형
Designed by Tistory.