1. String 클래스의 특징
- String 클래스 = 데이터(char[]) + 메서드(문자열 관련)
- 내용을 변경할 수 없는 불변(immutable) 클래스
- 덧셈 연산자(+)를 이용한 문자열 결합은 성능이 떨어진다.
- 문자열의 결합이나 변경이 잦다면, 내용 변경이 가능한 StringBuffer를 사용
2. 빈 문자열("", empty String)
- 내용이 없는 문자열, 크기가 0인 char형 배열을 저장하는 문자열
- 크기가 0인 배열을 생성하는 것은 어느 타입이나 가능하다.
- 문자(char)와 문자열(String)의 초기화
- new 연산자를 통한 빈 문자열을 만드는 것보다 객체 하나를 다같이 돌려 사용하는 것이 바람직하다.
3. String클래스의 생성자와 메서드
4. 문자열과 기본형간의 변환
- 숫자를 문자열로 바꾸는 방법
- 문자열을 숫자로 바꾸는 방법
5. 문자열 비교
- String str = "abc" 와 String str = new String("abc"); 의 비교
- String str = "abc" - 같은 객체를 공유
- String str = new String("abc"); - 각기 다른 객체를 생성하여 사용한다.
문자열 비교는 equals를 사용해서 비교해야 주소가 아닌 내용비교가 가능하다! ( == 비교연산자 사용 X -> 주소값 비교를 하기 때문에 어떤 때는 True 어떤 때는 False를 돌려줌. )
6. 문자열 리터럴
문자열 리터럴은 프로그램 실행시 자동으로 생성된다.
감튼 내용의 문자열 리터럴은 하나만 만들어진다.
7. 문자열 결합 join( )과 StringJoiner
join( )은 여러 문자열 사이에 구분자를 넣어서 결합한다.
8. 실습
package javaStandard;
public class Java9_10 {
public static void main(String[] args) {
int iVal = 100;
String strVal = iVal + "";
double dVal = 200.0;
String strVal2 = dVal + "";
double sum = Integer.valueOf(""+ strVal)
+ Double.valueOf(strVal2);//문자열을 숫자로 바꾸는 방법
double sum2 = Integer.valueOf(strVal)+Double.valueOf(strVal2);
System.out.println(String.join("",strVal,"+",strVal2,"=")+sum);
System.out.println(strVal+"+"+strVal2+"="+sum2);
}
}
'Java > 객체지향' 카테고리의 다른 글
[객체지향][자바의 정석] - 9.4 Math & wrapper 클래스 (0) | 2022.01.21 |
---|---|
[객체지향][자바의 정석] - 9.3 StringBuffer클래스 (0) | 2022.01.17 |
[객체지향][자바의 정석] - 9.1 Object 클래스 (0) | 2021.12.28 |
[객체지향][자바의 정석] - 8.1 예외처리(Exception Handling) (0) | 2021.12.27 |
[객체지향][자바의 정석] - 7.8 내부 클래스(Inner class) (0) | 2021.12.14 |