equals : 객체끼리 비교하는 메소드
== : 비교를 위한 연산자
String class
자바에서 문자열은 쌍 따옴표 " "로 감싸면 된다.
자바에서 문자열을 저장하는 기본 자료형 (Data Type은 없다.)
문자열은 여러가지 조작을 할 수 있기 때문에 별도의 클래스로 자료형 (java.lang.String)을 만들어 두었다.
따라서 자바에서 문자열은 책, 영화, 회원 처럼 객체로 취급된다.
문자열 생성방법
new로 생성 -> Heap area(객체가 생성되는 메모리영역)에 저장됨 // 새로운 객체를 선언하는 것과 같음.
String str1 = new String("APPLE");
String str2 = new String("APPLE");
저장하는 문자열은 같지만!! 번지가 서로 다름
서로 같은 것을 가리키고 있는지를 따져서 같은 값인지 다른값인지 구별이 가능하다.
new로 생성하면 ==으로 비교하면 안되고 equals로 해야함.
문자열 상수로 생성 -> Literal Pool(문자열 상수(객체)가 생성되는 메모리영역(재활용 가능))
String str1 = ("APPLE");
String str2 = ("APPLE");
서로 같은 번지를 가리킴
하지만 상수로 생성한 문자열이어도 ==보다는 equals로 문자열을 비교하는게 좋다.
왜냐하면 euqals와 ==로 비교를 하면 출력 값이 다르기 때문에, 통일하는 것이 좋음.
공부하는데 도움 많이 된 블로그!!
https://kmj1107.tistory.com/207
**인프런 강의 'Java TPC(생각하고, 표현하고, 코딩하고 / 박매일 강사님)'를 듣고 작성 및 발췌 했습니다.
'Java' 카테고리의 다른 글
[JAVA/자바]Array, Arraylist 차이 -스크랩 (0) | 2022.12.15 |
---|---|
[JAVA/자바]toString 실습 (0) | 2022.12.15 |
[JAVA/자바]API (0) | 2022.12.14 |
[JAVA/자바]패키지/package (0) | 2022.12.14 |
[JAVA/자바]함수와 메서드의 개념 및 차이-스크랩 (0) | 2022.12.14 |