uz
Feedback
Java Geek

Java Geek

Kanalga Telegram’da oβ€˜tish

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹Π΅ совСты, Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ ΠΈ ΠΊΠΎΠ΄ для Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ пост β€” Ρ€Π΅Π°Π»ΡŒΠ½Π°Ρ польза. Π£Ρ‡ΠΈΠΌ Java Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…. По всСм вопросам @evgenycarter

Ko'proq ko'rsatish
2 378
Obunachilar
Ma'lumot yo'q24 soatlar
-97 kunlar
-3530 kunlar
Postlar arxiv
Π“Π΄Π΅ ΠΈ для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ abstract? Класс, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ abstract, называСтся абстрактным классом. Π’Π°ΠΊΠΈΠ΅ классы ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Π΄ΠΊΠ°ΠΌΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… классов. Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ экзСмпляры самого абстрактного класса Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ. ΠŸΡ€ΠΈ этом наслСдниками абстрактного класса ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ абстрактныС классы, Ρ‚Π°ΠΊ ΠΈ классы, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠ΅ созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠœΠ΅Ρ‚ΠΎΠ΄, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом abstract - абстрактный ΠΌΠ΅Ρ‚ΠΎΠ΄, Ρ‚.Π΅. ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Если Π² классС присутствуСт хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ абстрактный ΠΌΠ΅Ρ‚ΠΎΠ΄, Ρ‚ΠΎ вСсь класс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ объявлСн абстрактным. ИспользованиС абстрактных классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² позволяСт ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΈΠΉ шаблон ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… классах. Π’ Π½ΠΈΡ… ΠΆΠ΅ самих описываСтся лишь Π½Π΅ΠΊΠΎΠ΅ ΠΎΠ±Ρ‰Π΅Π΅ для всСх ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. @java_geek

БыстроС ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 2 Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° 2 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ сдвиг всСх Π±ΠΈΡ‚ΠΎΠ² Π²Π»Π΅Π²ΠΎ, Π° Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 2 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ сдвиг Π²ΠΏΡ€Π°Π²ΠΎ. Напр
БыстроС ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 2 Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° 2 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ сдвиг всСх Π±ΠΈΡ‚ΠΎΠ² Π²Π»Π΅Π²ΠΎ, Π° Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 2 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ сдвиг Π²ΠΏΡ€Π°Π²ΠΎ. НапримСр: 2 (Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ 10): сдвиг Π²Π»Π΅Π²ΠΎ(ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅) Π΄Π°Π΅Ρ‚ 4 (Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ 100) ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ(Π΄Π΅Π»Π΅Π½ΠΈΠ΅) Π΄Π°Π΅Ρ‚ 1 (Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ 1). @java_geek

ВычислСниС количСства Ρ†ΠΈΡ„Ρ€ числа Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ количСство Ρ†ΠΈΡ„Ρ€ Π² числС, вмСсто Ρ†ΠΈΠΊΠ»Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ log.
ВычислСниС количСства Ρ†ΠΈΡ„Ρ€ числа Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ количСство Ρ†ΠΈΡ„Ρ€ Π² числС, вмСсто Ρ†ΠΈΠΊΠ»Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ log. @java_geek

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (overriding) ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²? ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² происходит, ΠΊΠΎΠ³Π΄Π° child Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ parent класса. Если Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ± Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΎΡΡŒ-Ρ‚Π°ΠΊΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ parent, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² child ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π²ΠΈΠ΄Π° super.methodName(), Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ parent ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π° ΡƒΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ. ВрСбования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ: β€’ сигнатура ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ такая ΠΆΠ΅; β€’ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅. @java_geek

Какими значСниями ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ? β€’ Числа ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ 0 ΠΈΠ»ΠΈ 0.0; β€’ char β€” \u0000; β€’ boolean β€” false; β€’ ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (Π² Ρ‚ΠΎΠΌ числС String) β€” null. @java_geek

ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° Π² Java Рассмотрим Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² Java. Π§Ρ‚ΠΎ, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π²ΠΏΠΎΠ»Π½Π΅ соо
ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° Π² Java Рассмотрим Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² Java. Π§Ρ‚ΠΎ, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π²ΠΏΠΎΠ»Π½Π΅ соотвСтствуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π½Π°ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ? На этом этапС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π΄Π²Π° исхода. 1. ΠŸΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°, Π½ΠΎ Π² Π±ΠΎΠ»Π΅Π΅ высокий Ρ‚ΠΈΠΏ (с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°) Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ сСмСйствС. 2. ΠŸΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Ρ€ΡˆΠ΅Π΅ сСмСйство (ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ссли Π½Π΅Ρ‚ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… long, доступного для Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… int, Ρ‚ΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ поиск Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой). @java_geek

Какая Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ процСссом ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ? Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ различия ΠΌΠ΅ΠΆΠ΄Ρƒ процСссом ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ: 1) ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² исполнСнии называСтся процСссом, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠŸΠΎΡ‚ΠΎΠΊ являСтся подмноТСством процСсса. 2) ΠŸΡ€ΠΎΡ†Π΅ΡΡΡ‹ нСзависимы, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ подмноТСством процСсса. 3) ΠŸΡ€ΠΎΡ†Π΅ΡΡΡ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ΅ адрСсноС пространство Π² памяти, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΊΠΈ содСрТат ΠΎΠ±Ρ‰Π΅Π΅ адрСсноС пространство. 4) ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ контСкста происходит быстрСС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с процСссами. 5) ΠœΠ΅ΠΆΠΏΡ€ΠΎΡ†Π΅ΡΡΠ½ΠΎΠ΅ взаимодСйствиС ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΈ Π΄ΠΎΡ€ΠΎΠΆΠ΅, Ρ‡Π΅ΠΌ ΠΌΠ΅ΠΆΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ΅ взаимодСйствиС. 6) Π›ΡŽΠ±Ρ‹Π΅ измСнСния Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ процСссС Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ процСсс, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ измСнСния Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ. @java_geek

Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ immutable класс? Π§Ρ‚ΠΎΠ± Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ immutable нСизмСняСмый класс, Π½ΡƒΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ простым ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌ: β€’ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ класс Ρ„ΠΈ
Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ immutable класс? Π§Ρ‚ΠΎΠ± Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ immutable нСизмСняСмый класс, Π½ΡƒΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ простым ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌ: β€’ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ класс Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ. β€’ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всС поля ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Π΅Ρ‚Ρ‚Π΅Ρ€Ρ‹ ΠΊ Π½ΠΈΠΌ. Π‘Π΅Ρ‚Ρ‚Π΅Ρ€Ρ‹, разумССтся, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. β€’ Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ всС mutable поля final, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. β€’ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС поля Ρ‡Π΅Ρ€Π΅Π· конструктор, выполняя Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, копируя ΠΈ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅) β€’ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ mutable ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Π³Π΅Ρ‚Ρ‚Π΅Ρ€Π°Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΏΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π° Π½Π΅ ссылки Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. @java_geek

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ immutable? Immutable Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, состояния ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ послС создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π§Π΅ΠΌ
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ immutable? Immutable Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, состояния ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ послС создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π§Π΅ΠΌ Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ для HashMap, Π΄Π°?) НапримСр, String, Integer, Double ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. @java_geek

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ mutable? Mutable Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‡ΡŒΠΈ состояния ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ послС создания. НапримСр Ρ‚Π°ΠΊΠΈΠ΅ класс
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ mutable? Mutable Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‡ΡŒΠΈ состояния ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ послС создания. НапримСр Ρ‚Π°ΠΊΠΈΠ΅ классы, ΠΊΠ°ΠΊ StringBuilder, StringBuffer. @java_geek

FileOutputStream vs. FileWriter Π—Π°ΠΏΠΈΡΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° Java осущСствляСтся двумя способами: FileOutputStream ΠΈ FileWriter. Какой ΠΈΠΌ
FileOutputStream vs. FileWriter Π—Π°ΠΏΠΈΡΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° Java осущСствляСтся двумя способами: FileOutputStream ΠΈ FileWriter. Какой ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. FileOutputStream ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для записи ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Π±Π°ΠΉΡ‚ΠΎΠ². Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с изобраТСниями. Π£ FileWriter Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΡ€ΠΈΠ·Π²Π°Π½ΠΈΠ΅: Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ символов. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹, Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ этот ΠΌΠ΅Ρ‚ΠΎΠ΄. @java_geek

Выполнится Π»ΠΈ Π±Π»ΠΎΠΊ finally, Ссли Π±Π»ΠΎΠΊ try ΠΈΠ»ΠΈ catch Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ return? Π”Π°, Π±Π»ΠΎΠΊ finally выполнится, Π΄Π°ΠΆΠ΅ Ссли return выполнился Π² Π±Π»ΠΎΠΊΠ΅ try ΠΈΠ»ΠΈ catch. Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных ΠΈ слоТных вопросов ΠΏΠΎ Java. Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅: СдинствСнный способ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° finally β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ System.exit(). @java_geek

МоТно Π»ΠΈ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ статичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² Java? ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ статичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² Java ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ Π²ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ нСльзя. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ статистичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ с Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ сигнатурой Π² подклассС, Π½ΠΎ ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ супСркласс. Π² Java это называСтся сокрытиСм ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². @java_geek

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°? ΠžΡ‚Π²Π΅Ρ‚: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ β€œString method”. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ null Π½Π΅ являСтся объ
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°? ΠžΡ‚Π²Π΅Ρ‚: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ β€œString method”. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ null Π½Π΅ являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π² Java. Но null ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ любой ссылкС. Java String являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ класса java.lang.String. Π’ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ компилятор Java Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π²Ρ‹Π·ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° с Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ String, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ класс String Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½, Ρ‡Π΅ΠΌ класс Object. @java_geek

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово abstract Π² Java abstract - это ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΉ для классов, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π½ΠΎ Π½Π΅ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·Ρƒ
ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово abstract Π² Java abstract - это ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΉ для классов, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π½ΠΎ Π½Π΅ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для достиТСния абстракции, которая являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· столпов ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования. Рассмотрим Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ примСнСния abstract: 1. Класс, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Ρ‡Π°ΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ (Ρ‚.Π΅. Π½Π΅ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² классС, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹). 2. Иногда трСбуСтся объявлСниС Π½Π΅Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² супСрклассС. Π­Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, ΡƒΠΊΠ°Π·Π°Π² ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ abstract. @java_geek

Бколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° String создаСт эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°? ΠžΡ‚Π²Π΅Ρ‚: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создаст Π΄Π²Π° string-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Когда ΠΌΡ‹ создаСм строку, исп
Бколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° String создаСт эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°? ΠžΡ‚Π²Π΅Ρ‚: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создаст Π΄Π²Π° string-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Когда ΠΌΡ‹ создаСм строку, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ new, ΠΎΠ½Π° сначала создастся Π² Java String Pool ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ Π² ΠΊΡƒΡ‡Π΅ (heap memory). Но Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ этой строки Π΅Ρ‰Ρ‘ Π½Π΅Ρ‚ Π² ΠΏΡƒΠ»Π΅ Java String. @java_geek

Как сборка мусора (Garbage Collection) Π½Π΅ допускаСт Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΡƒ памяти Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π° Java? ΠžΡ‚Π²Π΅Ρ‚: Π‘Π±ΠΎΡ€Ρ‰ΠΈΠΊ мусора (Garbage Collector) Π² Java β€” Π½Π΅ волшСбная пилюля ΠΎΡ‚ Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΈ памяти Π² прилоТСниях. Он просто ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· области видимости ΠΈ Π² Π½Ρ‘ΠΌ ΠΎΡ‚ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ, Ρ‡Ρ‚ΠΎ сборка мусора ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ ошибки, связанныС с Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΎΠΉ памяти, Π½Π΅Ρ‚. @java_geek

Java ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ ΠΏΠΎ ссылкС? Java всСгда ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ (pass-by-value). Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ссылку Π½Π° Π½Π΅Π³ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ хранят ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π° Π½Π΅ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Но это Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠΎ ссылкС (pass-by-reference). Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ совсСм понятно Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ. @java_geek

Object[] vs custom Class Код с Object Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΉ, ΠΊΠΎΠ³Π΄Π° приходится Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΌ
Object[] vs custom Class Код с Object Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΉ, ΠΊΠΎΠ³Π΄Π° приходится Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС.Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² класс Π²Ρ‹Π·ΠΎΠ²Π° ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ, Ссли ΠΆΠ΅, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ, Π° Ссли Π½Π΅Ρ‚, Π²Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ эффСктивно. БобствСнно, я сам этим ΠΈΠ½ΠΎΠ³Π΄Π° Π³Ρ€Π΅ΡˆΡƒ, ΠΊΠΎΠ³Π΄Π° ΠΎΡ‡Π΅Π½ΡŒ ΡΠΏΠ΅ΡˆΡƒ. Π‘ этим ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠΈΡ€ΠΈΡ‚ΡŒΡΡ, Ссли это ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅Π΄ΠΊΠΎ, Π½ΠΎ, всС ΠΆΠ΅, Π² Ρ‚Π°ΠΊΠΈΡ… ситуациях Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ класс. ΠžΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚Π΅ Тизнь Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ послС вас. @java_geek

Empty String Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, содСрТит Π»ΠΈ строка пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ isEmpty(). ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ equals()?
Empty String Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, содСрТит Π»ΠΈ строка пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ isEmpty(). ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ equals()? Он банально ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅ΠΉ. Если Π²Ρ‹ просмотритС Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ для строки, Ρ‚ΠΎ сразу всС ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅. НС ΡƒΠ΄ΠΈΠ²Π»ΡΠΉΡ‚Π΅ΡΡŒ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€ Π½Π΅ Π·Π½Π°ΡŽΡ‚ ΠΏΡ€ΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄. @java_geek