K.....o konto usunięte 07.10.2015, 08:52:24 4 + Tak sobie czytam i czytam i wyczytałem że: Today the JVM compiles the + symbol into a string builder (in most cases).Fajna ciekawostka, nie wpadłem na to wcześniej. Wszędzie wciskają, że '+' po prostu tworzy nowy obiekt.Źródła:http://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.18.1http://antoniogoncalves.org/2015/06/30/who-cares-about-tostring-performance/#programowanie #java
Dante651 Dante651 07.10.2015, 09:17:55 0 + @KawaCzibo: Czy ten dokument nie dotyczy przypadkiem Javy 8? Może dopiero od tej wersji się to zmieniło?
s.....a konto usunięte 07.10.2015, 09:22:15 1 + @KawaCzibo: to że + kompilowany jest do StringBuildera nie oznacza że nie tworzy się nowy obiekt, ba tworzą się co najmniej 2 (jeden na StringBuilder, 1 na wynik).
K.....o konto usunięte 07.10.2015, 09:26:33 0 + @sakfa: No to jest chyba oczywiste że StringBuilder z nieba nie spadł.
K.....o konto usunięte 07.10.2015, 09:27:40 0 + @Dante651: Dokładnie. http://www.pellegrino.link/2015/08/22/string-concatenation-with-java-8.html
s.....a konto usunięte 07.10.2015, 09:30:29 3 + @KawaCzibo: dodałbym jeszcze że to co "wszędzie wciskają" :) to zazwyczaj żeby nie używać konkatenacji w pętli, jak tu: List l = Arrays.asList("foo", "bar", "baz");String result = "";for (String s:Pokaż całość
K.....o konto usunięte 07.10.2015, 09:36:56 0 + @sakfa: Ciekawy temat. Później to sprawdzę. Ale konkatencja i pętla to słabo razem brzmi :D
Fajna ciekawostka, nie wpadłem na to wcześniej. Wszędzie wciskają, że '+' po prostu tworzy nowy obiekt.
Źródła:
http://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.18.1
http://antoniogoncalves.org/2015/06/30/who-cares-about-tostring-performance/
#programowanie #java