Sprawdzałem co działa szybciej - String czy StringBuilder czy StringBuffer. Robiąc ten test wiedziałem, że zwycięzcą będzie prawdopodobnie StringBuilder ale zastanowiło mnie jedno.
Jak to jest z Stringiem przy takim zapisie:
String zmienna = "a";
I w takiej sytuacji:
for(int i = 0; i < 10000; i++)
{
zmienna = zmienna + "a";
}
Jak traktować String poola? W przypadku zapisu String smienna = new String() sprawa jest dla mnie jasna - przy każdej konkatenacji powstanie nowy obiekt ale jak rozumieć poola? Jest to też za każdym razem nowy obiekt, jeżeli nie wykorzysta już raz użytej wartości, czy jeszcze inaczej to działa?
I czy String pool działa w obrębie danej klasy czy zupełnie inaczej?