본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

java.lang패키지 : String 클래스

타 언어에서 문자열을 char형의 배열로 다루나 자바에서는 문자열을 위한 클래스를 제공한다.

문자열 관련 메서드는 방대하며 아래는 자주 사용될것들으로 이해한다.

물론 이도 양이 상당하다.

 

 

String(String s)

String(char[] value)

주어진 문자열을 갖는 String 인스턴스를 생성한다.

String str1 = new String("Hello");
System.out.println(str1); // 출력: Hello
char[] charArray = {'H', 'e', 'l', 'l', 'o'};
String str2 = new String(charArray);
System.out.println(str2); // 출력: Hello

 

 

String (StringBuffer buf)

StringBuffer인스턴스가 갖고있는 문자열과 같은 내용의 String 인스턴스를 생성한다.

StringBuffer buffer = new StringBuffer("Java");
String str3 = new String(buffer);
System.out.println(str3); // 출력: Java

 

 

char chartAt(int index)

지정된 index에 있는 문자를 알려준다.

String str4 = "Hello";
char result4 = str4.charAt(2);
System.out.println(result4); // 출력: l

 

 

int compareTo(String str)

문자열과 사전순서로 비교해 같으면 0을, 사전순으로 이전이면 음수를, 이후면 양수를 반환한다.

String str5a = "apple";
String str5b = "banana";
int result5 = str5a.compareTo(str5b);
System.out.println(result5); // 출력: -1

 

String concat(String str)

문바열을 뒤에 덧붙인다

String str6a = "Hello";
String str6b = "World";
String result6 = str6a.concat(str6b);
System.out.println(result6); // 출력: HelloWorld

 

boolean contains(CharSequence s)

지정된 문자열이 포함되어있는지 검사한다.

String str7 = "Hello, World!";
boolean result7 = str7.contains("World");
System.out.println(result7); // 출력: true

 

boolean endsWith (String suffix)

지정된 문자열로 끝나는지 검사한다.

String str8 = "Hello, World!";
boolean result8 = str8.endsWith("World!");
System.out.println(result8); // 출력: true

 

boolean equals (Object obj)

매개변수로 받은 문자열과 String인스턴스의 문자열을 비교해 obj가 String이 아니거나 문자열이 다르면 false를 반환한다.

String str9a = "Hello";
String str9b = new String("Hello");
boolean result9 = str9a.equals(str9b);
System.out.println(result9); // 출력: true

 

boolean equalsIgnoreCass(String str)

문자열과 String인스턴스의 문자열을 대소문자 구분없이 비교한다.

String str10a = "Hello";
String str10b = "hello";
boolean result10 = str10a.equalsIgnoreCase(str10b);
System.out.println(result10); // 출력: true

 

int indexof(int ch)

주어진 문자가 문자열에 존재하는지 확인하여 index를 알려준다. 못찾으면 -1를 반환한다.

String str11 = "Hello";
int result11 = str11.indexOf('l');
System.out.println(result11); // 출력: 2

 

int indexOf(int ch, int pos)

주어진 문자가 문자열에 존재하는지 지정된 위치부터 확인하여 index를 알려준다. 못찾으면 -1를 반환한다.

String str12 = "Hello";
int result12 = str12.indexOf('l', 3);
System.out.println(result12); // 출력: 3

 

int indexOf(String str)

주어진 문자열이 존재하는지 확인하여 index를 알려준다.

String str13 = "Hello, World!";
int result13 = str13.indexOf("World");
System.out.println(result13); // 출력: 7

 

String intern()

문자열을 상수풀에 등록한다. 이미 같은 내용의 문자열이 있능령우 그 문자열의 주소값을 반환한다.

* 상수풀에 등록하면 다른문자열이 같은 내용을 가질때 해당 문자열을 찾아 사용하게 함으로써 메모리를 절약하고 효율적으로 처리될 수 있도록 도와준다.

String str14a = "Hello";
String str14b = new String("Hello");
String internedStr = str14b.intern();
System.out.println(internedStr); // 출력: Hello

 

int lastIndexOf(int ch)

int lastInfexOf(String str)

지정된 문자/문자열을 문자열의 오른족 끝에서부터의 index를 알려준다.

String str15 = "Hello";
int result15 = str15.lastIndexOf('l');
System.out.println(result15); // 출력: 3
String str16 = "Hello, World!";
int result16 = str16.lastIndexOf("l");
System.out.println(result16); // 출력: 10

 

int length()

문자열의 길이

String str17 = "Hello";
int len17 = str17.length();
System.out.println(len17); // 출력: 5

 

String replace (char old, char nw)

문자열 중 문자 old를 새로운 문자 nw로 바꾼 문자열을 반환한다.

String str18 = "Hello";
String result18 = str18.replace('l', 'L');
System.out.println(result18); // 출력: HeLLo

 

String replace(CharSequence old, CharSequence nw)

문자열 중 문자 old를 새로운 문자열 nw로 바꾼 문자열을 반환한다.

String str19 = "Hello, World!";
String result19 = str19.replace("World", "Universe");
System.out.println(result19); // 출력: Hello, Universe!

 

 

String replaceAll(String regex, String replacement)

문자열 중 모든 문자 old를 새로운 문자열 nw로 바꾼 문자열을 반환한다.

replace와 차이점은 정규식을 적용할 수 있다는점이다.

String originalString = "Hello123World456";
String stringWithoutNumbers = originalString.replaceAll("[0-9]", "");

System.out.println("Original String: " + originalString);
System.out.println("String without Numbers: " + stringWithoutNumbers);
//Original String: Hello123World456
//String without Numbers: HelloWorld

 

String replaceFirst(String regex, String replacement)

문자열 중에서 지정된 문자열과 첫번째로 일치하는 문자열만 변경한다.

String str21 = "apple apple orange";
String result21 = str21.replaceFirst("apple", "banana");
System.out.println(result21); // 출력: banana apple orange

 

String[] split (String regex)

문자열을 지정된 분리자로 나누어 배열에 담아 반환한다.

String str22 = "apple,banana,orange";
String[] result22 = str22.split(",");
System.out.println(Arrays.toString(result22)); // 출력: [apple, banana, orange]

 

String[] split (String regex, int limit)

문자열을 지정된 분리자로 나누어 배열에 담아 반환하되 문자열 전체를 지정된 배열 갯수로 자른다.

String str23 = "apple,banana,orange";
String[] result23 = str23.split(",", 2);
System.out.println(Arrays.toString(result23)); // 출력: [apple, banana,orange]

 

boolean startWith(String prefix)

주어진 문자열로 시작하는지 검사한다.

String str24 = "Hello, World!";
boolean result24 = str24.startsWith("Hello");
System.out.println(result24); // 출력: true

 

String substring(int begin)

String substring(int begin, int end)

주어진 시작위치부터 끝위치 범위에 포함된 문자열을 얻는다. 

*끝위치의 문자는 포함되지않는다

String str25 = "Hello, World!";
String result25 = str25.substring(7);
System.out.println(result25); // 출력: World!

 

String toLowerCase()

모든 문자열을 소문자로 변환해 반환한다.

String str27 = "Hello";
String result27 = str27.toLowerCase();
System.out.println(result27); // 출력: hello

 

String toString()

문자열을 반환한다.

String str28 = "Hello";
String result28 = str28.toString();
System.out.println(result28); // 출력: Hello

 

String toUpperCase()

모든 문자열을 대문자로 변환해 반환한다.

String str29 = "Hello";
String result29 = str29.toUpperCase();
System.out.println(result29); // 출력: HELLO

 

String trim()

양쪽 끝의 공백을 없앤 결과를 반환한다.

*문자열 중간의 공백은 제거되지않는다.

String str30 = "   Hello   ";
String result30 = str30.trim();
System.out.println(result30); // 출력: Hello

 

 

 

static String valueOf()

지정된 값을 문자열로 반환한다.

*참조변수의 경우 toString()을 호출한 결과를 반환하여 date도 Wed jan 27 21:26:29 KST 2016 등으로 확인 가능하다.

 

 

static String valueOf(boolean b)

boolean flag34 = true;
String result34 = String.valueOf(flag34);
System.out.println(result34); // 출력: true

 

static String valueOf(char c)

char character35 = 'A';
String result35 = String.valueOf(character35);
System.out.println(result35); // 출력: A

 

static String valueOf(int i)

int number36 = 42;
String result36 = String.valueOf(number36);
System.out.println(result36); // 출력: 42

 

static String valueOf(long l)

long number37 = 123456789012345L;
String result37 = String.valueOf(number37);
System.out.println(result37); // 출력: 123456789012345

 

static String valueOf(float f)

float number38 = 3.14f;
String result38 = String.valueOf(number38);
System.out.println(result38); // 출력: 3.14

 

static String valueOf(double d)

double number39 = 2.71828;
String result39 = String.valueOf(number39);
System.out.println(result39); // 출력: 2.71828

 

static String valueOf(object o)

Object obj40 = new Object();
String result40 = String.valueOf(obj40);
System.out.println(result40); // 출력: java.lang.Object@<hashcode>