Java
String 객체
이무쿤
2019. 10. 30. 20:35
반응형
String str1 = new String("abc");
->힙 메모리
String str2 = "abc";
->상수 풀
따라서
String str1 = new String("abc");
String str2 = new String("abc");
str1 == str2 하면 false
String str1 = "abc";
String str2 = "abc";
str1 == str2 하면 true
+ 연결시에 새로운 메모리로 생성됨
일반 클래스 객체와 String 클래스 객체의 출력이 일반 클래스 객체는 주소값이 출력되는데 반해 String 객체는 내용물이 출력되는 이유는
두 객체 전부 객체가 출력될 때 toString()이 호출 되는데 String은 내용을 일반 클래스는 주소를 출력하도록 구현 되어 있기 때문
따라서 toString을 일반 클래스에서 오버라이드 하면 해당 클래스 객체가 출력될 때 어떻게 출력될지 정해 줄 수 있다.
StringBuilder buffer = new StringBuilder(java);
여기에 append, insert 이것 저것 지원함
반응형