본문 바로가기

string

StringBuilder vs StringBuffer Java의 String은 Immutable하므로, 문자열을 변경할경우 계속해서 새롭게 객체를 할당해야하므로 메모리 효율성부문에서 좋지 않다.(Garbage 객체가 계속해서 생길것이다.) 이를 보완한 것이 StringBuilder와 StringBuffer이다. 이에 대해서 알아보자 1. Mutable(가변성) String과 다르게 StringBuilder, StringBuilder 모두 mutable하다. 즉 가변성이 있다. append, delete, insert 등을 이용하여 문자열을 바꾸더라도 객체를 따로 생성하지 않고 기존 객체를 이용한다. 그러므로, 문자열 추가, 수정,삭제를 빈번하게 사용해야 할 경우 String이 아닌 StringBuilder, StringBuffer를 사용해야한다. 2. St.. 더보기
Java String 우리는 문자열을 나타내는데 자바 스트링 객체를 많이 쓰지만, 사실 잘 알고 쓰는 사람은 별로 없는거 같다. 1) 스트링 리터럴? 스트링 객체? JAVA 에는 문자열을 선언하는 두가지 방법이 있고 우린 혼용하지만 내부적인 구현은 완전히 다르다. String s1 = new String("Boo"); String s2 = "Boo"; 첫번쨰는 new 연산자를 이용하여 Heap 영역에 할당하는 것이고, 두번째는 String Constant Pool 이라는 특별한 상수 영역에 할당하는 것이다. 즉 s1 과 같은 방식으로 만들면 heap 계쏙해서 각각의 인스턴스를 생성하기 떄문에 다른 주소의 객체이나 s2와 같은 리터럴 방식으로 초기화 하면 String Constant Pool을 먼저 그 문자열이 있는지 체크하고.. 더보기