JAVA_String클래스

호근·2022년 12월 15일
0

java

목록 보기
32/35

String클래스

생성자와 메서드

  • String(String s)
String s = new String("안녕")

  • String(char[] value)
char[] c = {'H','e','l','l','o'};
String s = new String(c);

// 실행결과 s = "Hello"

  • String(StringBuffer buf)
StringBuffer sb = new StringBuffer("Hello");
String s = new String(sb);

// 실행결과 s = "Hello"

  • char charAt(int index)
String s = "Hello";
String n = "12345";
char c1 = s.charAt(1);
char c2 = n.charAt(1);

// 실행결과 c1 = e c2 = 0

  • int compareTo(String str)
int i = "aaa".compareTo("aaa")
int i2 = "aaa".compareTo("bbb")
int i3 = "bbb".compareTo("aaa")
// 실행결과  i = 0, i2 = -1, i3 = 1

  • String concat(String str)
String s = "Hello";
String s2 = s.concat("World");
// 실행결과  s2 = "HelloWorld"

  • boolean contains(CharSequence s)
String s = "abcdefg";
boolean b = s.contains("bc");

// 실행결과 b = true

  • boolean endsWith(String suffix)
String file = "Hello.txt";
boolean b = file.endWith("txt");

// 실행결과 true

  • boolean equals(Object obj)
String s = "Hello";
boolean b = s.equals("Hello");
boolean c = s.equals("hello");

// 실행결과 b = true, c = fasle

  • boolean equalsIgnoreCase(String str)
String s = "Hello";
boolean b = s.equalsIgnoreCase("Hello");
boolean c = s.equalsIgnoreCase("hello");

// 실행결과 b = true, c = true

  • int indexOf(int ch)
String s = "Hello";
int idx1 = s.indexOf('O');
int idx2 = s.indexOf('k');

// 실행결과  idx1 = 4, idx2 = -1

  • int indexOf(int ch, int pos)
String s = "Hello";
int idx1 = s.indexOf('e', 0);
int idx2 = s.indexOf('e', 2);

// 실행결과 idx1 = 1, idx2 = -1

  • int indexOf(String str)
String s = "ABCDEFG"
int idx = s.indexOf("CD");

// 실행결과 idx = 2

  • String intern()
String s = new String("abc");
String s2 = new String("abc");
boolean b = (s == s2);
boolean b2 = s.equals(s2);
boolean b3 = (s.intern() == s2.intern());

// 실행결과 b1 = false, b2 = true, b3 = true

분명 equals는 두 객체가 같은지 판단한다고했다.
s와 s2의 객체가 같은 이유가 뭘까?
String() 클래스로 같은 값을 선언하면 같은 객체이다.
hashCode()를 출력하여 결과를 비교해보면 알 수 있다.


  • int lastIndexOf(int ch)
String s = "java.lang.Object";
int idx1 = s.lastIndexOf('.');
int idx2 = s.indexOf('.');

// 실행결과 idx1 = 9, idx2 = 4
  • int lastIndexOf(String str)
    매개변수만 다를 뿐 lastIndexOf()와 같은 기능을 제공한다.

  • int length()
    길이를 알려준다.

  • String replace(char old, char nw)
String s = "Hello";
String s1 = s.replace('H','C');

// 실행결과 s1 = "Cello"
  • String replace(CharSequence old, CharSequence nw)

    • 문자열 중 old문자열을 nw문자열로 모두 바꾼 문자열을 반환한다.
  • String replaceAll(String regex, String replacement)

    • 문자열 중에서 지정된 regex와 일치하는 모든 문자열을 새로운 문자열로 바꾼다.
  • String replaceFirst(String regex, String replacement)

    • regex와 일치하는 문자열 중 첫번째 것만 새로운 문자열로 바꾼다.

  • String[] split(String 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)로 자른다.

  • boolean startWith(String prefix)
    • 주어진 문자열로 시작하는지 반환한다.

  • String substring(int begin)
  • String substring(int begin, int end)
    • 주어진 시작위치부터 끝위치까지 범위에 포함된 문자열을 얻는다.
      시작위치의 문자는 범위에 포함되지만 끝위치의 문자는 범위에 포함되지 않는다. (begin <= x < end)
String s = "java.lang.Object";
String c = s.substring(10);
String p = s.substring(5,9);

// 실행결과 c = "Object", p = "lang"

  • String toLowerCase()
    • 모든 문자열을 소문자로 반환 and 반환
  • String toUpperCase()
    • 모든 문자열을 대문자로 변환 and 반환

  • String toString()
    • String 인스턴스에 저장되어있는 문자열을 반환

  • String trim()
    • 문자열의 왼쪽끝과 오른쪽 끝에 있는 공백을 없앤 결과를 반환
      단, 문자열 중간의 공백은 제거되지않는다.

  • static String valueOf(type)
    • 지정된 값을 문자열로 변환 and 반환

매개변수만 다른 메서드들도 있기때문에 어렵지않다.

기억안날땐 문서 참고하자.

profile
22.11.28 ~

0개의 댓글