Dev_bob

[JAVA]String 클래스 본문

전공수업정리/Java

[JAVA]String 클래스

킹대왕너구리 2024. 5. 15. 12:00

String class

'String'클래스는 문자열을 나타내는 데 사용되며, 'java.lang' 패키지에 포함되어 있습니다.

 

String 객체의 특징은 다음과 같습니다.

1. 불변성 - 객체의 내용은 생성 후 변경될 수 없습니다. 한번 생성 된 문자열이 메모리에 할당 되면 변경할 수 없습니다. 문자열을 수정한다고 하면 새로운 String 객체를 생성하는 수 밖에 없습니다.

2. 다양한 클래스 메서드를 제공합니다. 

 

  • length(): 문자열의 길이를 반환합니다.
  • charAt(int index): 지정된 위치의 문자를 반환합니다.
  • substring(int beginIndex, int endIndex): 문자열의 부분 문자열을 반환합니다.
  • equals(Object another): 두 문자열의 내용이 같은지 비교합니다.
  • equalsIgnoreCase(String another): 대소문자 구분 없이 두 문자열의 내용이 같은지 비교합니다.
  • startsWith(String prefix): 문자열이 특정 접두사로 시작하는지 확인합니다.
  • endsWith(String suffix): 문자열이 특정 접미사로 끝나는지 확인합니다.
  • contains(CharSequence s): 문자열이 특정 문자열을 포함하고 있는지 확인합니다.
  • indexOf(String str): 특정 문자열이 처음으로 나타나는 위치의 인덱스를 반환합니다.
  • lastIndexOf(String str): 특정 문자열이 마지막으로 나타나는 위치의 인덱스를 반환합니다.
  • toLowerCase(): 문자열을 소문자로 변환합니다.
  • toUpperCase(): 문자열을 대문자로 변환합니다.
  • trim(): 문자열의 시작과 끝에 있는 공백을 제거합니다.
  • replace(char oldChar, char newChar): 문자열에서 특정 문자를 다른 문자로 대체합니다.

스트링 리터럴과 new String()의 차이

스트링 리터럴이란 코드 안에서 따옴표로 돌러싸인 문자들의 집합을 말합니다.

예를 들면 

String greeting = "Hello, World!";

에서 "Hello,World!"는 스트링 리터럴 입니다.

 

스트링 리터럴은 리터럴 테이블로 관리하여 동일한 리터럴을 공유시킵니다.

하지만 new String()의 경우 new를 이용하여 생성되는 다른 객체와 동일하게 힙 메모리에 생성됩니다.

public class StringEx {

	public static void main(String[] args) {
		String a=new String("   C#");
		String b=new String(",C++   ");
		
		System.out.println(a+"의 길이는"+a.length());
		System.out.println(a.contains("#"));
		
		a=a.concat(b);//문자열 연결
		System.out.println(a);
		
		a=a.trim();//문자열 앞 뒤 공백 제거
		System.out.println(a);
		
		a=a.replace("C#","Java");//문자열 대치
		System.out.println(a);
		
		String s[]=a.split(","); //문자열 분리
		for(int i=0;i<s.length;i++)
			System.out.println("분리된 문자열"+i+": "+s[i]);
		
		a=a.substring(5);	//인덱스 5부터 끝까지 서브 스트링 리턴
		System.out.println(a);
		
		char c=a.charAt(2);	//인덱스 2의 문자 리턴
		System.out.println(c);
	}

}

 

출력결과 : 

C#,C++

Java,C++

분리된 문자열0: Java

분리된 문자열1: C++

C++

+

 

 

'전공수업정리 > Java' 카테고리의 다른 글

[JAVA]입출력 스트림과 파일 입출력  (3) 2024.05.27
[JAVA]StringBuffer 클래스  (0) 2024.05.16
[JAVA]Object class,프로세스,스레드,toString(),equal()  (1) 2024.05.15
[JAVA] 모듈  (2) 2024.05.10
[JAVA]패키지  (2) 2024.05.10