문자열 활용

1c2·2024년 1월 18일
0

JAVA

목록 보기
7/13
public class TestString {
	public static void main(String[] args) {
		String s1 = new String("hi");
		String s2 = new String("hi");
		String s3 = "hi"; //상수 pool 사용
		String s4 = "hi"; //상수 pool 사용 -> 재활용
		System.out.println(s1 == s2); //false
		System.out.println(s3 == s4); //true *** 상수풀을 사용하기에 같은 메모리 주소 참조 ->true출력
		System.out.println(s1.equals(s2)); //true
		System.out.println(s3.equals(s4)); //true
		System.out.println(s1.equals(s3)); //true
		
		String s = "abcDeFghij";
		System.out.println(s);
		System.out.println(s.length() + "글자수");
		p(s.length(), "글자수");
		p(s.charAt(3), "해당 index의 글자");
		p(s.indexOf("DeF"), "앞에서부터 해당글자가 처음 나온 위치");
		p(s.lastIndexOf("DeF"), "앞에서부터 해당글자가 처음 나온 위치");
		p(s.concat("xyz"), "문자열 이어붙임");
		p(s + "xyz", "문자열 이어붙임");
		p(s.replace("DeF", "ㅁ"), "문자열 교체");
		p(s.substring(3,6), "부분 문자열");
		p(s.toLowerCase(), "소문자로 변경");
		p(s.toUpperCase(), "대문자로 변경");
		//String 클래스는 원본을 변경시키지 않는다.
		p(s, "원본 문자열");
		
		String ss = "a" + 1 + 2 + 3 + 4; // a , a1, a12, a123, a1234 모두 상수 풀에 저장
		// StringBuilder / StringBuffer 사용 권장
		System.out.println(ss);

		
	}
	public static void p(Object o, String s) {
		System.out.println(o.toString() + " : " + s);
	}
	
}

0개의 댓글