Java Guru πŸ€“
13.4K subscribers
938 photos
15 videos
793 links
Канал с вопросами ΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ с собСсСдований!

По сотрудничСству ΠΈ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ΅: @NadikaKir

Канал Π² ΠΏΠ΅Ρ€Π΅Ρ‡Π½Π΅ РКН: https://vk.cc/cJrSQZ

ΠœΡ‹ Π½Π° Π±ΠΈΡ€ΠΆΠ΅: telega.in/channels/javatasks/card?r=lcDuijdm
Download Telegram
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ компиляции ΠΈ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°?
πŸ‘12
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ компиляции ΠΈ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°?
Anonymous Quiz
26%
c
31%
a b c
8%
c b a
36%
Ошибка компиляции
πŸ‘13πŸ₯±1
Как Π²Π΅Π΄ΡƒΡ‚ сСбя ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρ‹?

β€’ ΠšΠ»Π°ΡΡΡ‹ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° доступны Π±Π΅Π· ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°. Если импортируСтся Π΄Ρ€ΡƒΠ³ΠΎΠΉ класс, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ с классом-сосСдом ΠΏΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ – сосСд пСрСкрываСтся. Π‘ΡƒΠ΄Π΅Ρ‚ использован ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ класс, Π±Π΅Π· ошибки.

β€’ Если Π² class-Ρ„Π°ΠΉΠ»Π΅ сущСствуСт нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… классов с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ… здСсь ΠΆΠ΅ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… – это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкС компиляции.

β€’ Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ класс нСсколько Ρ€Π°Π· допускаСтся. Π‘ΡƒΠ΄Π΅Ρ‚ всСго лишь warning ΠΎ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅.

β€’ Для статичСских ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΎΠ² констант Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π΅ ΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°. ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΈ статичСскиС ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρ‹ Π½Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ – для Π²Ρ‹Π±ΠΎΡ€Π° достаточно контСкста использования.

β€’ Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ нСсколько классов/констант с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, придСтся ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΎΠ². НуТно Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΈΡ… ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ, с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π°.
πŸ‘18πŸ”₯2
Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌ конструктором ΠΈ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ классом?

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ области видимости конструктора Π΄ΠΎ private Π½Π΅ Π΄Π°Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· наслСдника, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ нСвозмоТности Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Π­Ρ‚ΠΎ свойство часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ€Π½Ρ‹Ρ… классов ΠΈ синглтонов. Если ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ инстанцирования ΠΈΠ·Π²Π½Π΅.

Если Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ объявлСнию класса ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ final, это Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ ΠΎΡ‚ Π½Π΅Π³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΡƒΠΆΠ΅ Π±Π΅Π· излишнСго ограничСния Π½Π° использованиС конструктора снаруТи. Π­Ρ‚ΠΎ основноС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ этих Π΄Π²ΡƒΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ².

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния возмоТности наслСдования, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· private конструктор Π±ΠΎΠ»Π΅Π΅ слабоС. ΠžΡ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ класса, Ссли ΠΎΠ½ Π½Π΅ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ подклассы. ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ класс ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Β«ΠΏΠ°Π±Π»ΠΈΠΊ ΠΌΠΎΡ€ΠΎΠ·ΠΎΠ²Β» – Π΄Π°Ρ‚ΡŒ внСшним классам Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· сСбя.
πŸ‘24πŸ”₯3❀2πŸ€”1
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΠΊΠΎΠ΄Π°?
πŸ‘8
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΠΊΠΎΠ΄Π°?
Anonymous Quiz
11%
int
40%
Object
29%
Integer
20%
Ошибка компиляции
πŸ‘14❀1
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ со ссылкой Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄, Ссли Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°?

ΠžΡ‚Π²Π΅Ρ‚ Π½Π° этот вопрос Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½, Ссли Π²Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ скрываСтся Π·Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌΠΈ ссылки Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΈ ссылки Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄.

Для нСстатичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ связываниС. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ обращаСмся ΠΊ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΏΠΎ ссылкС, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ экзСмпляра, Π° Π½Π΅ Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с изобраТСния Π½ΠΈΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ класса A Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚.

Π€Π°ΠΊΡ‚ ΠΏΠΎΠ·Π΄Π½Π΅Π³ΠΎ связывания Π² этом вопросС ΠΌΠΎΠΆΠ΅Ρ‚ ввСсти Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅. БвязываниС случаСтся Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ обращСния, Π° Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π°. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ хранится нСизмСняСмая копия ссылки Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄. Она Π²Π΅Π΄Π΅Ρ‚ Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° Π½Π΅ хранящСй Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ пСрСприсвоСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΆΠ΅ Π½Π΅ ΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π½Π° ссылку Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ эффСкта.

Для достиТСния Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ связывания Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° Π² Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄Π΅ сущСствуСт инструкция invokedynamic. Однако Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ повСдСнчСский ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ ООП, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, посСтитСля.
πŸ‘22
Какой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ компиляции ΠΈ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹?
πŸ‘10πŸ”₯2
Π’Π°ΠΊΠΆΠ΅ Ρƒ нас Π΅ΡΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΠ° Π’ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ https://vk.com/javatutorial Π² Π½Π΅ΠΉ ΠΌΡ‹ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎ, ΡΡ‚Π°Ρ‚ΡŒΠΈ, вакансии ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ. НС Π·Π°Π±ΡƒΠ΄ΡŒ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ πŸ˜‰
πŸ‘4πŸ”₯1
Как ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ?

for/while
. ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ способ: цСлочислСнная пСрСмСнная-индСкс, которая увСличиваСтся ΠΎΡ‚ 0 Π΄ΠΎ size(). МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄Π°, с нСстандартным шагом. ΠŸΠ»Π°Ρ‚Π° Π·Π° это – Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΈΡ‚ΡŒΡΡ Π² индСксах ΠΈ ΠΌΠ΅Π½Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Iterator. ООП-способ: ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ iterator() ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρƒ Π½Π΅Π³ΠΎ next() ΠΏΠΎΠΊΠ° hasNext() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true. Π’ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°, такая ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. Π’Π°ΠΊΠΎΠΉ Β«ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽΒ» ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² сторонний ΠΊΠΎΠ΄, Π½Π΅ отдавая саму ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ. Всё Π΅Ρ‰Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

for Iterable. БинтаксичСский сахар для ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ синтаксис ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ΅Π½ просто ΠΎΠ±Ρ…ΠΎΠ΄. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ явного использования ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π½Π΅ Π΄Π°Π΅Ρ‚ возмоТности ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты Π² процСссС.

Π‘Ρ‚Ρ€ΠΈΠΌΡ‹. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ стрим ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с элСмСнтами Π² Π½Ρ‘ΠΌ. ΠšΡ€ΠΎΠΌΠ΅ простого forEach(), ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ всСй ΠΌΠΎΡ‰ΡŒΡŽ Java Steam API – Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты. Π—Π° это ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ лишниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π° синтаксис Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ развСсистый.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Java 8. Π‘ этой вСрсии появились ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ срСдства для ΠΎΠ±Ρ…ΠΎΠ΄Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строк. Π£ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ ΠΈ Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ† добавились ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ forEach для ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΈ replaceAll для ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Как со стримами, ΠΎΠ½ΠΈ Π΄Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ, Π½ΠΎ Π±Π΅Π· ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ создания стримов. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ простыС ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Ρ†ΠΈΠΊΠ»Ρ‹ for.
πŸ‘20πŸ”₯5
ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ имя класса Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π°?

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² .java Ρ„Π°ΠΉΠ»Π΅ Π±Ρ‹Π» Π½Π΅ большС Ρ‡Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ класс Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ совпадало с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»Π°. ВсС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°.

Protected ΠΈ private классов Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Π° Π²ΠΎΡ‚ Π½Π° package-protected это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ распространяСтся. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ класс Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° доступа ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ любоС имя. Π’Π°ΠΊΠΆΠ΅ это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ рядом с основным ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌ классом Ρ„Π°ΠΉΠ»Π° (ΠΈΠ»ΠΈ вмСсто Π½Π΅Π³ΠΎ) ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ любоС количСство Π΄Ρ€ΡƒΠ³ΠΈΡ… классов Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° доступа, с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. Они Π±ΡƒΠ΄ΡƒΡ‚ доступны Π²Π½ΡƒΡ‚Ρ€ΠΈ всСго ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ – ΠΌΠΎΠΆΠ΅Ρ‚.
πŸ‘23πŸ”₯2πŸ€”2🍌1
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² консоль?
πŸ‘17❀1πŸ”₯1
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² консоль?
Anonymous Quiz
41%
123456
14%
1234567
30%
012345
15%
0123456
πŸ‘18πŸ€”13πŸ”₯1
Как ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ элСмСнты пСрСчислСния?

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ enum-Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² статичСскиС константы-экзСмпляры Π΅Π³ΠΎ класса. ЭкзСмпляры Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ синглтоны. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, для ΠΈΡ… сравнСния бСзопасно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ==, Π΄Π°ΠΆΠ΅ послС дСсСриализации ΠΈ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ срСдС.

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ класс нСявно наслСдуСтся ΠΎΡ‚ java.lang.Enum, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ· Object ΠΊΡ€ΠΎΠΌΠ΅ toString ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π’ частности, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° equals – ΠΎΠ½ сравниваСт enum-Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ==. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ equals Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅Π· опаски.

Но ΠΏΠΎΠΌΠΈΠΌΠΎ этого Π΅ΡΡ‚ΡŒ нСсколько ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ ==:

1. == Π½Π΅ выбросит NullPointerException. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ equals Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, придСтся ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ null.

2. == Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π΅Ρ‰Π΅ Π½Π° этапС компиляции подскаТСт, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ сравнСниС Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла. equals ΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ΄ Ρ‚ΠΈΠΏΠΎΠΌ Object, ΠΈ всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ false ΡƒΠΆΠ΅ Π² Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠ΅.

3. == быстрСС. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго Ρ€Π°Π·Π½ΠΈΡ†Π° Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠΉ, Π½ΠΎ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ лишнСго Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.
πŸ‘26πŸ”₯2❀1⚑1
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ?
πŸ‘14
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ?
Anonymous Quiz
6%
current version: 0.1a
67%
current version: 0.5b
5%
current version: 0.1a current version: 0.5b
21%
Ошибка компиляции
πŸ‘21
КакиС Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΎΠΉ Π² Java?

ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Числа ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π² Java хранятся Π² дискрСтной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ фиксированный объСм. Из этого Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Когда Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ арифмСтичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎ ΠΊΡ€ΡƒΠ³Ρƒ – максимальноС становится ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Π»ΠΈΠ±ΠΎ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Вакая ситуация называСтся ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ (underflow/overflow).

РСшСниС: Ссли ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ пСрСполнСния Π·Π½Π°Ρ‡ΠΈΠΌΠ°, ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ с суффиксом *Exact ΠΈΠ· классС Math. Π­Ρ‚ΠΎ бСзопасныС Π°Π½Π°Π»ΠΎΠ³ΠΈ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ€ΠΎΡΠ°ΡŽΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² случаС пСрСполнСния.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎ-зависимыС округлСния.
По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ JVM ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ арифмСтичСскиС вычислСния насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ. ΠŸΡ€Π΅Π΄Π΅Π»Ρ‹ точности ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния. Π­Ρ‚ΠΎ Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΡŽΡ‚ строгиС трСбования пСрСносимости, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСний Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Π½Π° любом ΠΆΠ΅Π»Π΅Π·Π΅.

РСшСниС: ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ strictfp Π² объявлСнии класса ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ вычислСний ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΉ спСцификации IEEE 754. Π—Π° это ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ…ΡƒΠ΄ΡˆΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ArithmeticException.
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ происходит, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π° ноль. Π­Ρ‚ΠΎ ΠΆΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±Ρ€ΠΎΡΠ°ΡŽΡ‚ бСзопасныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ· Math.

РСшСниС: Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π›ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ логичСскиС ошибки – ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ΄ Unit-тСстами.
πŸ‘18πŸ”₯2⚑1
Какой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹?
πŸ‘12
Какой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹?
Anonymous Quiz
44%
1 2
2%
2 1
4%
Ошибка Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния
50%
Ошибка компиляции
πŸ‘30