String Class 메소드 

  • 문자열 길이 구하기
  • str.length() str이 참조하는 문자열의 길이를 구해서 int 타입으로 리턴해주는 메소드 

    System.out.println(str.length());  //str

  • 문자열 붙히기 (concat)
  • str.concat(world) 메소드는 str 이 참조하는 문자열 hello 에 메소드의 인자로 들어온 문자열 world  String 타입으로 리턴하는 메소드
  • String Class는 불변 클래스로, 메소드가 수행되면, 새로운 문자열을 만든다. 그러므로, 원래 클래스는 변하지 않는다.

    String str = new String("hello");

 

    System.out.println(str.concat(" world"));  //hello world

    System.out.println(str);  //hello

  • 문자열 자르기 (subString)
  • str.subString(1,3) str이 참조하는 문자열을 인덱스 1번부터 3번까지 자른 결과
  • str.subString(2) str이 참조하는 문자열을 2번 인덱스부터 마지막까지 자른 결과를 의미
  • 문자열의 인덱스는 0번 부터 시작

    System.out.println(str.substring(1, 3)); //el

    System.out.println(str.substring(2));   //llo world

 

'JAVA를 해보자' 카테고리의 다른 글

enum_열거형  (0) 2018.01.08
java 변수 사용 범위 static  (0) 2018.01.04
java 다양한 형태의 메서드  (0) 2018.01.02
java 필드(field) 선언  (0) 2017.12.31
java String class (스트링 클래스)  (0) 2017.12.31

String 클래스


문자열을 표현하는 자바에서 가장 많이 사용하는 클래스


자바 인스턴스 생성 방법

1. new연산자를 이용하지 않고 인스턴스를 만드는 경우

Stringstr1="hello";

Stringstr2="hello";

 

hello라는 문자열이 메모리 중에서 상수가 저장되는 영역에 저장

상수는 변하지 않는 값을 의미.

String str2 = hello; 이 문장이 실행될 때에 hello 라는 문자열 상수는 이미 만들어져 있으므로 str1이 참조하는 인스턴스를 str2도 참조


2. new연산자를 이용해서 인스턴스를 만드는 경우

Stringstr3=newString("hello");

Stringstr4=newString("hello");


new연산자를 이용하여 인스턴스를 만들면 인스턴스는 무조건 새롭게 만들어진다.

String str4 = new String(hello); 이 문장이 실행될때도 새롭게 만들게 되므로, str3 str4는 서로 다른 인스턴스를 참조


if(str1==str2){ // 같은 인스턴스를 참조

System.out.println("str1str2는 같은 레퍼런스입니다.");

}

 

if(str1==str3){ // str1str3은 서로 다른 인스턴스

System.out.println("str1str3는 같은 레퍼런스입니다.");

}

 

if(str3==str4){ // str3str4는 서로 다른 인스턴스를 참조

System.out.println("str3str4는 같은 레퍼런스입니다.");

}

 

참조변수끼리 == 로 비교하면 서로 같은 것을 참조하는지 비교

String은 다른 클래스와 다르게 new를 사용하지 않고 사용할 수 있다. 메모리를 아끼려면 Stringnew를 사용하지 않고 사용하는 것이 좋다.

String은 불변 클래스이다. 불변이란 String이 인스턴스가 될때 가지고 있던 값을 나중에 수정할 수 없다.

String은 문자열과 관련된 다양한 메소드를 가지고 있다. 메소드를 호출한다 하더라도 String은 내부의 값이 변하지 않는다.

String이 가지고 있는 메소드중 String을 반환하는 메소드는 모두 새로운 String을 생성해서 반환한다.

   

Stringstr5="hello world";

Stringstr6=str5.substring(3);

 

substring은 문자열을 자른 결과를 반환하는 메소드이다. 해당 코드가 실행되어도 str5는 변하지 않음

str6str5가 가지고 있는 문자열 중 3번째 위치부터 자른 결과 즉 새로운 String을 참조


'JAVA를 해보자' 카테고리의 다른 글

java 다양한 형태의 메서드  (0) 2018.01.02
java 필드(field) 선언  (0) 2017.12.31
java 참조형 타입  (0) 2017.12.31
java for each 반복문  (0) 2017.12.30
java for 반복문을 이용해서 배열 사용하기  (0) 2017.12.30

+ Recent posts