System.out.println( new StringBuilder().toString() == "" ); -> "false" Any reason for not returning the "" instance? public String toString() { return new String(value, 0, count); } --> public String toString() { return (count > 0) ? new String(value, 0, count) : ""; } ?