본문 바로가기
Programming/Java

[기초] String 클래스

by devpine 2019. 12. 19.
반응형

문자열 인스턴스 생성 방법 2가지

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

  • 상수 저장 영역에 저장됨
  • 이미 같은 문자열 상수가 만들어져 있다면 그 인스턴스를 참조한다 

2. new 연산자로 인스턴스를 만드는 경우

  • 무조건 새로운 인스턴스 생성
  • 그래서 내용이 같더라도 서로 다른 인스턴스를 참조한다
public class Main {
    public static void main(String[] args) {
        String str1 = "hello";   //상수 저장 영역(변하지 않는 값)에 저장됨.
        String str2 = "hello";  //이미 문자열 상수가 만들어져 있으므로 str1 이 참조하는 인스턴스를 str2도 참조한다.
        String str3 = new String("hello");  //new 연산자로 인스턴스를 만들면 무조건 새롭게 만들어진다.
        String str4 = new String("hello");  //str3, str4는 서로 다른 인스턴스를 참조한다.

        if(str1 == str2) System.out.println("1과 2는 같다.");
        else System.out.println("1과 2는 다르다.");
        if(str1 == str3) System.out.println("1과 3은 같다.");
        else System.out.println("1과 3은 다르다.");
        if(str4 == str3) System.out.println("4과 3은 같다.");
        else System.out.println("4과 3은 다르다.");
    }
}

 

문자열 비교 방법 2가지

1. == 연산자

  • 변수의 레퍼런스 비교

2. .equal() 메소드

  • 변수가 저장하는 값 비교
if(str1.equals(str2)) System.out.println("str1과 str2는 같은 값이다.");
else System.out.println("str1과 str2는 다른 값이다.");

 

String 클래스의 메소드

  • str.length() : 문자열의 길이, int형 리턴
  • str.concat("zzz") : 문자열 병합(뒤에 붙임), String형 리턴
  • str.substring(1,3) : 문자열 자르기(1부터 3까지), String형 리턴

 


이 글은 아래 강의를 수강하고 개인적으로 정리한 글입니다.

https://programmers.co.kr/learn/courses/5

 

자바 입문 | 프로그래머스

평가 4.9 33개의 평가 ★★★★★31 ★★★★1 ★★★1 ★★0 ★0 김세윤 2019.12.03 18:36 박성근 2019.11.28 02:41 정일영 2019.11.14 00:02 APEACH 2019.10.28 12:16 최재욱 2019.10.12 20:16 리뷰 더보기

programmers.co.kr

 

반응형

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

[중급] Object 클래스  (0) 2019.12.19
[기초] 예외 처리  (0) 2019.12.19
[기초] 내부 클래스, 익명 클래스  (0) 2019.12.19
Java 개발 환경 Intellij 설치  (0) 2019.12.19
[Spring] DAO, DTO, Service란  (0) 2019.04.17

댓글