StringBuilder na czym polega różnica

0

Witam jaka jest różnica pomiędzy tymi dwoma zapisami

public class App {
public static void main(String[]args){
	StringBuilder budowniczy=new StringBuilder("");
	budowniczy.append("hej ");
	budowniczy.append("to ");
	budowniczy.append("ja ");
	System.out.println(budowniczy.toString());
}
}


.
a tym

public class App {
public static void main(String[]args){
	StringBuilder budowniczy=new StringBuilder("");
	budowniczy.append("hej ");
	budowniczy.append("to ");
	budowniczy.append("ja ");
	System.out.println(budowniczy);
}
}


.

wynik jest dla mnie takim sam ale czym skutkuje różnica ?

0

StringBuilder.toString() zwraca java.lang.String.

Podstawowa róznica jest taka, że java.lang.String jest immutable, a StringBuilder jest mutable (czyli jak go modyfikujesz to za każdym razem nie tworzysz nowego obiektu).

java.lang.String umżliwia operacje typowe dla napisów. StringBuilder w zasadzie używa się tyko do budowania bardziej złożonych napisów (aby uniknąć tworzenia po drodze masy niepotrzebnych obiektów).

3

Nie ma różnicy bo takie wypisanie obiektu automatycznie woła toString

1 użytkowników online, w tym zalogowanych: 0, gości: 1