전체 글

    StringBuilder, StringBuffer

    String과 StringBuffer/StringBuilder의 차이점은 String은 immutable 하다는 점이다. 즉 새로운 문자열을 할당하면, 그 전의 객체를 삭제한다. String은 불변성을 가져 변하지 않는 문자열을 자주 읽어들이는 경우 String을 사용하면 좋은 성능 기대할 수 있음. 하지만 문자열 추가, 수정,삭제가 빈번하게 일어나면 mutable하게 할당하는게 유리할 수 있다. StringBuffer/StringBuilder는 가변성 가지기 때문에, .append(), .delete() 등의 API를 이용하여 동일 객체내에서 문자열 변경이 가능함. StringBuilder public final class StringBuilder extends AbstractStringBuilder ..

    StringJoiner

    문자열을 예쁘게 처리하기 위한 java.util 에 포함되어 있고, 순차적으로 나열되는 문자열을 처리할 때 사용됨. * {@code StringJoiner} is used to construct a sequence of characters separated * by a delimiter and optionally starting with a supplied prefix * and ending with a supplied suffix. * * Prior to adding something to the {@code StringJoiner}, its * {@code sj.toString()} method will, by default, return {@code prefix + suffix}. * However..

    자바 Optional 이란

    java.util에 속하고, 1.8부터 제공됨. Null 처리를 간편하게 하기 위해서 등장. T 객체를 포장해주는 래퍼 클래스이고, NullPointerException 예외를 예방할 수 있다. public final class Optional final 로 정의되어 있어 더 이상 확장이 불가능하다. Optional의 특이한 점은 아래와 같이 객체를 생성하지 않는다. new Optional(); 아래의 3개의 메소드를 통해 Optional 클래스의 객체를 생성할 수 있다. 데이터가 없는 Optional 객체를 생성하려면 이와 같이 empty() 메소드를 이용한다. javadoc에는 아래와 같이 기술되어 있다. * Returns an empty {@code Optional} instance. No valu..