⚡ new String()
같은 자료형 또는 자료형 클래스라고 할지라도 new가 붙었다면
인스턴스 영역(메모리)으로 변경되므로 비교하는 상황이 달라질 수 있다
String a = "a1234"; String b = "a1234"; String c = new String("a1234"); //new : 인스턴스 생성 == RAM에 올라갔단 뜻 String d = new String("a1234"); System.out.println(a==b); //true System.out.println(a.equals(b)); //true System.out.println(a==c); //false System.out.println(a.equals(c)); //true System.out.println(c==d); //false
⚡ StringBuffer,StringBuilder
StringBuilder,StringBuffer : 멀티스레드 이용(스레드란? 작업공간)
웹 자체는 단일스레드이기 때문에 웹에서는 StringBuilder를 많이 사용함
String보다 빨라서 게시판 등 작업에 많이 사용
//얘네도 new이므로 메모리 올라감 //멀티 스레드가 빠름,단일스레드일 경우 속도가장느림 but 안정성 good,로스x //앱에서 많이 사용 StringBuffer sb = new StringBuffer(); sb.append("홍길동"); sb.append("님 환영합니다"); System.out.println(sb); //홍길동님 환영합니다 //단일 스레드가 빠름,로스발생 확률있음(빠르지만 불안정) //웹 자체는 단일스레드이기 때문에 웹에서는 얘를 많이 사용함 StringBuilder sb2 = new StringBuilder(); sb2.append("이순신"); sb2.append("포인트는 5000"); System.out.println(sb2); //이순신포인트는 5000
'CLASS > JAVA' 카테고리의 다른 글
#13-3 / Map클래스배열(Key배열) (0) | 2024.05.20 |
---|---|
#13-2 / Thread (0) | 2024.05.20 |
#12 / remind2 (0) | 2024.05.17 |
#11-2 / 배열을 이용한 예외처리 (0) | 2024.05.16 |
#11-1 / Exception : 예외처리 (0) | 2024.05.16 |