Java. StringBuilder vs StringBuffer

ΠΠ»Π°ΡΡ StringBuilder Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² Java 5. ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ API, ΠΊΠ°ΠΊ ΠΈ ΠΊΠ»Π°ΡΡ StringBuffer, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ StringBuilder - Π½Π΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½. Sun ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ StringBuilder Π²ΠΌΠ΅ΡΡΠΎ StringBuffer, Π³Π΄Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ StringBuilder Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π±ΡΡΡΡΠ΅Π΅.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠΎΠ΄:
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΉ, Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ String Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° concat().
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
ΠΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΎΡΠ»ΠΈΡΠ½ΡΡ Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΈ ΡΡΠ°ΡΡΡ Π² ΠΏΡΠ»Π΅ ΡΡΡΠΎΠΊ, Π·ΡΡ ΠΏΠΎΡΡΠ°ΡΠΈΠ² ΠΏΠ°ΠΌΡΡΡ.
ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ StringBuffer Π²ΠΌΠ΅ΡΡΠΎ String, ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄Π΅Π» Π±Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠ·ΠΎΠ² sb.append("def"); ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠΊΠ»Π΅ΠΈΠ²Π°Π΅Ρ Π² ΠΊΠΎΠ½ΡΠ΅ "def" ΠΊ ΡΠ°ΠΌΠΎΠΌΡ ΡΠ΅Π±Π΅.
ΠΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΠΏΠΎΡΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²Π°Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡ
- Java. ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π² ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
- Java. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ·Π²Π½Π΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°
- Java. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ·Π½ΡΡΡΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°
- Java. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°
- Java. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ "ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ" Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°
- Java. ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ (Inner Classes)
- Java. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
- Java. ΠΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ (Generic Declarations)
- Java. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡ (Using Maps)







ΠΠ΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ!
ΠΠ±Π°ΡΡ ΠΌΠ΅Π½Ρ Π² ΡΠ»Π΅Π½. ΠΡ ΠΏΡΠ°Π²Ρ!
ΠΠΎΡΡΠ°ΡΠ°Π΅ΠΌΡΡ Π²ΡΠ΅Π±Π°ΡΡ.
Π° ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ?
ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ