본문 바로가기
JAVA

String 타입과 클래스

by winteringg 2022. 8. 16.

1. String 타입
1) 문자열을 저장하는 클래스 타입
2) 문자열 리터럴이 동일하다면 String 객체를 공유함.

문자열 리터럴이 동일하다면 String 객체를 공유

3) 하지만 new 연산자를 이용해서 String 객체를 생성한다면, 힙 영역에는 새로운 String 객체가 생성됨.
   (이 경우는 String 객체를 공유하지 않고, 새로운 객체가 생성 된다는 것.)
4) String 의 문자열 그 자체를 비교할 때는 ==연산자가 아닌, .equals() 메서드를 사용해야 함.

==연산자와 .equals() 메서드 비교

* 기본 자료형 : 실제 값을 저장
String apple = "apple";

*참조형 : 클래스를 사용하여 값이 저장되어 있는 주소를 저장
String banana = new String("banana");


2. String 클래스의 주요 메서드

1) char charAt(int index) : 문자열에서 해당 위치에 있는 문자를 반환한다.

String str = "ABCDE";
char ch = str.charAt(3);  //문자열 str의 0번째인 'A'부터 체크해서 3번째 문자 'D'를 ch에 저장함.


2) int length() : 문자열의 길이를 반환한다.

String str = "ABCDE";
int ch = str.length();  //문자열 str의 0번째인 'A'부터 4번째 문자 'E'까지 총 5개이므로 5가 저장 됨.

3) String substring(int from, int to) : 문자열에서 해당 범위(from~to)의 문자열을 반환한다. (※맨 마지막 인덱스는 포함 안함)

String str1 = "ABCDE";
String s = str1.substring(1,4); //str에서 index범위 1~4의 문자들을 읽는데, 출력할 때 4번째 문자는 포함 안함.
System.out.println(tmp1);    //"BCD" 가 출력 됨.

String str2 = "ABCDE";
String s2 = str2.substring(1);   //숫자 하나만 입력할 경우 index 1번 문자부터 끝까지 출력됨.
System.out.println(tmp2);     //"BCDE" 가 출력 됨.

 

4) boolean equals()      //문자열의 내용이 같은 지 확인한다. 같으면 결과는 true, 다르면 false
     boolean equalsIgnoreCase()   //문자열의 내용이 같은 지 확인한다. 대소문자를 구분하지 않고 비교한다.

5) char[] toCharArray() : 문자열을 문자배열(char[])로 변환해서 반환한다.

public class Class {
	public static void main(String[] args) {
		
		String str = "hello world";
		char[] arr = str.toCharArray();
		
		for(int i=0; i<arr.length; i++) {
			System.out.print(arr[i]);
		}
	}
}

출력결과 : hello world

 


     

 

 

참고 : [한빛미디어] 이것이 자바다 (신용권의 Java 프로그래밍 정복) Chapter 5.참조타입
참고 : [도우출판] JAVA의 정석(3ND EDITION)-자바의 정석 최신 Java 8.0 포함 Chapter 5.String 클래스

'JAVA' 카테고리의 다른 글

형 변환  (0) 2022.08.20
콘솔 입출력 환경, printf 사용법  (0) 2022.08.20
패키지 (package) 와 import  (0) 2022.08.14
객체 지향 프로그래밍  (0) 2022.08.14
연산자  (0) 2022.08.14

댓글