#String 클래스
String s = "mylimeorange";
String t = new String("mylimeorange");
String x = "mylimeorange";
new로 만들면 heap에 객체가 생성된다.
s 처럼 값을 그냥 주면 class area 안에 있는 Constant Pool 에 저장한다.
if(s == t) { //주소 비교하는거라 false
System.out.println("s==t"); //false
}
if(s.equals(t)) { //내용 비교 String 에서 equals는 내용 비교이다. 기본 Object 에서는 주소비교이다 (재정의 한거임 )
System.out.println("s.equals(t)"); //true
}
if(s==x) { //주소를 비교하는데 constant pool 에 같은 "mylimeorange" 을 가리키고 있다.
System.out.println("s==x");
}
String 클래스는 원본의 값을 바꿀수 없다.
s.toUpperCase();
System.out.println(s); //대문자로 바꿔라.
String은 값이 하나 들어가면 원본데이터를 바꿀수가 없다
String a=s.toUpperCase();
System.out.println(a);
이런식으로 따로 저장해서 따로 생성된 값을 사용해야한다.
s=s+"gogogo";
System.out.println(s);
s 는 mylimeorangegogogo 를 가리키게 된다.
#String 메소드
String s = "mylimeorange";
s.length() -문자열의 길이를 출력해주는
s.charAt(3) -인덱스가 3번인 글자 하나
s.isEmpty() - 비어있니?
s.startsWith("m")- m으로 시작하니?
s.endsWith("e") -e로 끝나니?
s.substring(2,6) - 문자열 분할 2번 인덱스 부터 5번 인덱스 까지
s.substring(7) - 7번 인덱스 부터 끝까지
s.contains("r") - 문자열 r 을 포함하니?
#concat()
문자열 뒤에 추가시켜주는 경우
String q =s.concat("hello");
//s.concat("hello");
System.out.println(q);
'JAVA > JAVA 개발, 알고리즘 tip' 카테고리의 다른 글
#Wrapper class 기본형 데이터를 참조형(클래스)로 바꿈 (0) | 2019.01.19 |
---|---|
Java #StringBuilder 문자열을 편집하여 사용하고자 할 경우! (0) | 2019.01.19 |
#equals(Object o) : boolean - 객체의 내용을 비교 (0) | 2019.01.19 |
Java #toString (0) | 2019.01.19 |
#Reference Type Casting (0) | 2019.01.19 |