본문 바로가기

Programming/Java

String 클래스

문자열(String)은 프로그램에서 많이 사용되는 중요한 자료형이다. 자바에서는 문자열을 저장할 수 있는 기초 자료형이 없다. 하지만 문자열을 저장하고 처리하는 String클래스라는 것이 존재한다. String클래스를 이용하여 문자열을 저장하고 처리할 수 있는데 정수나 실수와는 다르게 문자열은 객체이다. 

 

1
2
String s = new String("Hello World");    // 선언과 동시에 초기화
 
또는

= "Hello World"  

 

 

객체의 메소드 호출

객체가 생성된 후에 객체의 메서드를 사용하려면 멤버 연산자(dot.operator)를 사용한다. 

1
2
String s = new String("Hello World!"):
int size = s.length();    // size는 12가 된다.

 

 

String 클래스에서 자주 사용되는 메서드들

   반환형                 메소드 요약
char

charAt(int index) 

지정된 인덱스에 있는 문자를 반환한다.

int

compareTo(String anotherString)

사전적 순서로 문자열을 비교한다. 앞에 앞에 있으면 -1, 같으면 0 , 뒤에 있으면 1

boolean

equals(Object anotherObject)

주어진 객체와 현재의 문자열을 비교한다.

boolean

equalsIgnoreCase(string anotherString)

대소문자를 무시하고 비교한다.

boolean

isEmpty()

length()가 0이면 true를 반환한다.

int

length()

현재 문자열의 길이를 반환한다.

String

subString(int beginIndex, int endIndex)

현재 문자열의 일부를 반환한다.

ex) 

1
ss = s.substring(2,5);

 

 

수치 값을 문자열로 변환하는 방법

자바에서는 문자열과 기초 자료형 변수를 결합하게 되면 자동적으로 기초 자료형문자열로 변환한다.

주의할 점은 수치값이 문자열에 +연산자로 합해지는 경우에만 문자열로 변환되어 결합한다.

1
2
3
4
int x = 20;
System.out.println("결과값은: " + x);    // "결과값은 20" 이 출력된다.
 
String a = "price : " + 100;    // "price : 100" 

이 경우에는 결합이 불가하다.

1
2
System.out.println("100" + 20 );    // 120출력
System.out.println(100 + 20 );        // 120출력
 

 

문자열을 수치값으로 변환하는 방법

문자열 "123"을 숫자 123으로 변환하려면 자바의 랩퍼 클래스(wrapper class)인 Integer 클래스를 사용하면 된다.

 

 

기초자료형에 대응되는 랩퍼 클래스 종류

           기초자료형             랩퍼 클래스
byte Byte
short Short
int Integer
float Float
double Double
char Character
 

랩퍼 클래스는 저장된 값을 다른 자료형으로 변환하는 메소드를 제공한다. 

 

Integer 클래스의 일부 메소드

반환값      메소드 이름                              설명
byte byteValue() int형을 byte형으로 변환
double doubleValue() int형을 double형으로 변환
float floatValue() int형을 float형으로 변환
int parseInt(String s) 문자열을 int형으로 변환
String toBinaryString(int i) int형의 정수를 2진수 형태의 문자열로 변환
String toHexString(int i) int형의 정수를 16진수 형티의 문자열로 변환

이들 메소드는 많이 사용되므로 객체를 생성하지 않고 클래스의 이름에 멤버 연산자를 붙여서 사용 할 수 있다.

문자열을 기초 자료형으로 변환하려면 각 랩퍼 클래스의 parseXXX() 메소드를 사용하면 된다. 이들 메소드가 필요한 이유는 사용자가 값을 입력하는 경우 문자열로 입력하는 일이 있기 많이 있기 때문이다. 따라서 문자열을 수치값으로 변환할 때는 아래처럼 랩퍼 클래스를 사용하여야 한다.

1
2
3
4
int i = Integer.parseInt("123");
    // 변수 i 에 정수 123이 저장된다.
double d = Double.parseDouble("3.1415");
    // 변수 d에 실수 3.1415가 저장된다.

'Programming > Java' 카테고리의 다른 글

Set  (0) 2020.02.29
Comparable과 Comparator  (0) 2020.02.06
Array.sort 와 Collections.sort  (0) 2020.02.05
Java 컬렉션(Collection)  (0) 2020.02.05
ArrayList  (0) 2020.01.29