This media is not supported in your browser
VIEW IN TELEGRAM
Π₯ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π² Π―Π½Π΄Π΅ΠΊΡ ΠΠ°ΡΠΊΠ΅ΡΠ΅? π₯
Π Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΏΠΎΠ΄ΠΊΠ°ΡΡΠ° I like techno ΠΎΡ Π―Π½Π΄Π΅ΠΊΡΠ° Π³Π΅ΡΠΎΠΈ ΠΎΠ±ΡΡΠ΄ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΡΠ΅ΠΉΡΠ°Ρ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΌΠ΅Π½ΡΠ»Π°ΡΡ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 10 Π»Π΅Ρ.
ΠΠΎΠΌΠ°Π½Π΄Π° Π»ΠΎΠ³ΠΈΡΡΠΈΠΊΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΡ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΠ°ΡΠΊΠ΅ΡΠ°: ΠΎΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΠΊΠ°Π·Π° Π΄ΠΎ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ·ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΎΡΠ½ΡΠΌΠΈ ΡΠ΅Π½ΡΡΠ°ΠΌΠΈ ΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΊΡΡΡΠ΅ΡΠΎΠΌ ΠΈΠ»ΠΈ Π² ΠΏΡΠ½ΠΊΡ Π²ΡΠ΄Π°ΡΠΈ Π·Π°ΠΊΠ°Π·ΠΎΠ². Π Π΅Π±ΡΡΠ° Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ΄ ΠΎΡΡΠ·Π°Π΅ΠΌΡΠΌ, Π° ΠΎΡΠ»Π°ΠΉΠ½ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΡΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΎΠ±ΠΎΡΠΎΠ² ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³ΠΈΠΈ.
Π‘ΠΏΠΈΠΊΠ΅ΡΡ β ΡΠΏΠ΅ΡΡ, ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ Π² ΡΠ΅ΠΌΡ:
π Π‘Π»Π°Π²Π° Π¦ΡΠΊΠΈΠ½, Π‘Π’Π Π»ΠΎΠ³ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
π Π ΠΎΠΌΠ° ΠΡΠ»ΡΡΠΈΡΠΊΠΈΠΉ, ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΠ»ΡΠΆΠ±Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ
π ΠΠ½Π΄ΡΠ΅ΠΉ ΠΠ°Ρ ΡΡΠΌΠΈΠ½, ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΠΎΠ³ΠΈΡΡΠΈΠΊΠΈ
π ΠΠΈΡΠΈΠ»Π» ΠΠΌΠΈΡΡΠΈΠ΅Π², ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΠ»ΡΠΆΠ±Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΊΠ»Π°Π΄ΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠΈΡΡΠ΅ΠΌ ΡΡΡΡΠ°
Π‘Π»ΡΡΠ°ΡΡ Π½Π° Π―Π½Π΄Π΅ΠΊΡ ΠΡΠ·ΡΠΊΠ΅
Π‘ΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Youtube
Π Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΏΠΎΠ΄ΠΊΠ°ΡΡΠ° I like techno ΠΎΡ Π―Π½Π΄Π΅ΠΊΡΠ° Π³Π΅ΡΠΎΠΈ ΠΎΠ±ΡΡΠ΄ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΡΠ΅ΠΉΡΠ°Ρ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΌΠ΅Π½ΡΠ»Π°ΡΡ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 10 Π»Π΅Ρ.
ΠΠΎΠΌΠ°Π½Π΄Π° Π»ΠΎΠ³ΠΈΡΡΠΈΠΊΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΡ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΠ°ΡΠΊΠ΅ΡΠ°: ΠΎΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΠΊΠ°Π·Π° Π΄ΠΎ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ·ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΎΡΠ½ΡΠΌΠΈ ΡΠ΅Π½ΡΡΠ°ΠΌΠΈ ΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΊΡΡΡΠ΅ΡΠΎΠΌ ΠΈΠ»ΠΈ Π² ΠΏΡΠ½ΠΊΡ Π²ΡΠ΄Π°ΡΠΈ Π·Π°ΠΊΠ°Π·ΠΎΠ². Π Π΅Π±ΡΡΠ° Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ΄ ΠΎΡΡΠ·Π°Π΅ΠΌΡΠΌ, Π° ΠΎΡΠ»Π°ΠΉΠ½ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΡΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΎΠ±ΠΎΡΠΎΠ² ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³ΠΈΠΈ.
Π‘ΠΏΠΈΠΊΠ΅ΡΡ β ΡΠΏΠ΅ΡΡ, ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ Π² ΡΠ΅ΠΌΡ:
π Π‘Π»Π°Π²Π° Π¦ΡΠΊΠΈΠ½, Π‘Π’Π Π»ΠΎΠ³ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
π Π ΠΎΠΌΠ° ΠΡΠ»ΡΡΠΈΡΠΊΠΈΠΉ, ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΠ»ΡΠΆΠ±Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ
π ΠΠ½Π΄ΡΠ΅ΠΉ ΠΠ°Ρ ΡΡΠΌΠΈΠ½, ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΠΎΠ³ΠΈΡΡΠΈΠΊΠΈ
π ΠΠΈΡΠΈΠ»Π» ΠΠΌΠΈΡΡΠΈΠ΅Π², ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΠ»ΡΠΆΠ±Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΊΠ»Π°Π΄ΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠΈΡΡΠ΅ΠΌ ΡΡΡΡΠ°
Π‘Π»ΡΡΠ°ΡΡ Π½Π° Π―Π½Π΄Π΅ΠΊΡ ΠΡΠ·ΡΠΊΠ΅
Π‘ΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Youtube
π5β€2π₯2π₯΄1π1
Π§Π΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Closeable ΠΎΡ AutoCloseable?
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ AutoCloseable ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ-Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΡΠ΅ΡΡΡΡΠ°, ΠΏΠΎΠΊΠ° ΡΠΎΡ Π½Π΅ Π·Π°ΠΊΡΡΡ. Π Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΌ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π΅ close() ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π°ΠΊΡΡΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°. ΠΡΠΈΠΌΠ΅Ρ β Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (ObjectOutputStream).
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ try-with-resource. ΠΡΡ ΡΡΠΎ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ Π² Java Π²Π΅ΡΡΠΈΠΈ 7.
ΠΠΎ Java 7 ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π» ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ β Closeable. Π‘ΠΌΡΡΠ» Π΅Π³ΠΎ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅. ΠΠ½ Π²ΡΡ Π΅ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ, Π½ΠΎ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ AutoCloseable. Π§ΡΠΎΠ±Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΡΠ°ΡΠΎΠ³ΠΎ Closeable ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² try-with-resource, Π½ΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΌ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΠ°ΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Closeable Π±ΡΠ»Π° Π² ΡΠ·ΠΎΡΡΠΈ ΡΠΈΠΏΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ close(). ΠΠΎΠ²Π°ΡΠΈΠ°Π½ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΠΈΠΏ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ AutoCloseable Ρ IOException Π΄ΠΎ Exception.
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΎΡΠ»ΠΈΡΠΈΠ΅ β ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΌΠ΅ΡΠΎΠ΄Π° close(). Π‘ΡΠ°ΡΡΠΉ Closeable ΡΡΠ΅Π±ΡΠ΅Ρ Π΅Π³ΠΎ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡΠΉ AutoCloseable ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ AutoCloseable ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ-Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΡΠ΅ΡΡΡΡΠ°, ΠΏΠΎΠΊΠ° ΡΠΎΡ Π½Π΅ Π·Π°ΠΊΡΡΡ. Π Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΌ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π΅ close() ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π°ΠΊΡΡΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°. ΠΡΠΈΠΌΠ΅Ρ β Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (ObjectOutputStream).
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ try-with-resource. ΠΡΡ ΡΡΠΎ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ Π² Java Π²Π΅ΡΡΠΈΠΈ 7.
ΠΠΎ Java 7 ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π» ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ β Closeable. Π‘ΠΌΡΡΠ» Π΅Π³ΠΎ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅. ΠΠ½ Π²ΡΡ Π΅ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ, Π½ΠΎ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ AutoCloseable. Π§ΡΠΎΠ±Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΡΠ°ΡΠΎΠ³ΠΎ Closeable ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² try-with-resource, Π½ΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΌ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΠ°ΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Closeable Π±ΡΠ»Π° Π² ΡΠ·ΠΎΡΡΠΈ ΡΠΈΠΏΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ close(). ΠΠΎΠ²Π°ΡΠΈΠ°Π½ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΠΈΠΏ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ AutoCloseable Ρ IOException Π΄ΠΎ Exception.
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΎΡΠ»ΠΈΡΠΈΠ΅ β ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΌΠ΅ΡΠΎΠ΄Π° close(). Π‘ΡΠ°ΡΡΠΉ Closeable ΡΡΠ΅Π±ΡΠ΅Ρ Π΅Π³ΠΎ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡΠΉ AutoCloseable ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ.
π13π€1
ΠΠ΄ΡΠΌ Π²Π°Ρ Π½Π° ΠΎΡΠΊΡΡΡΠΎΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΡΠΎΠΊΠ΅ Β«Π‘Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° JavaΒ» ΠΎΡ OTUS, Π³Π΄Π΅ ΠΌΡ:
- ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ jar-ΡΠ°ΠΉΠ»;
- Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π³ΠΎ ΡΠ΅ΡΡΡΡΡ;
- Π·Π°ΠΏΡΡΡΠΈΠΌ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅;
- Π½Π°ΡΡΠΈΠΌΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΡ javac ΠΈ java, jvm, jre, jdk ΠΈ classpath.
Π‘ΠΏΠΈΠΊΠ΅Ρ ΠΠ½Π΄ΡΠ΅ΠΉ ΠΠΎΠ»ΡΠΊΠΎΠ² β ΡΡΠ°ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠ½ΡΠ΅Ρ -ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.
ΠΡΡΡΠ΅ΡΠ°Π΅ΠΌΡΡ 18 ΠΈΡΠ½Ρ Π² 20:00 ΠΌΡΠΊ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΡΡΡΠ° Β«Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΒ».
ΠΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ Π²Π΅Π±ΠΈΠ½Π°ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π½Ρ Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅!
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
π5π₯1
ΠΠ°ΠΊ Java Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄?
ΠΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ β Π² ΠΊΠ»Π°ΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π²ΡΠ±ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ (ΡΠ°Π½Π½Π΅Π΅ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅). Π Π΄Π΅ΡΠ°Π»ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²ΡΠ±ΠΎΡΠ° ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΠΏΠΈΡΠ°Π½ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΡΠ±ΠΎΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² Π΄Π²Π° ΡΠ°Π³Π°. ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΡΠ΅Ρ ΡΠ°Π· β ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
1. ΠΠ΅ΡΠΎΠ΄Ρ, Π² ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΏΠΎ ΡΠΈΠΏΡ Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ Π΅ΡΡΡ, Π»ΠΈΠ±ΠΎ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ (upcasting) ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² ΠΈΠ»ΠΈ ΡΡΡΠ»ΠΎΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ², ΠΈΡΠΊΠ»ΡΡΠ°Ρ vararg-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
2. ΠΡΠ»ΠΈ Π² ΡΠ°Π·Π΅ 1 ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π½Π΅ Π½Π°ΡΠ»ΠΎΡΡ, ΠΊ Π΅Π΅ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±ΠΎΠΊΡΠΈΠ½Π³Π°/Π°Π½Π±ΠΎΠΊΡΠΈΠ½Π³Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠΊΡΠΈΠ½Π³+ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
3. ΠΡΠ»ΠΈ ΠΈ Π΄Π»Ρ ΡΠ°Π·Ρ 2 Π½Π΅Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΠ³Π½Π°ΡΡΡ, ΠΊ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ vararg-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
Π ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ Π½Π°ΡΠ΅Π»ΡΡ Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π·Π΅, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ.
ΠΠΎΠ³Π΄Π° Π² ΡΠ°Π·Π΅ ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΉ ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ (Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π·Ρ!).
ΠΠ΅ΡΠΎΠ΄ A ΡΡΠΈΡΠ°Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌ ΡΠ΅ΠΌ B, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠΏΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° β ΠΏΠΎΠ΄ΡΠΈΠΏΡ ΡΠΈΠΏΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄ΡΡΠ³ΠΎΠ³ΠΎ. Π’ΠΎ Π΅ΡΡΡ Π»ΡΠ±ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² A ΠΏΠΎΠ΄ΠΎΡΠ»ΠΈ Π±Ρ ΠΈ Π΄Π»Ρ B, Π½ΠΎ Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
Π ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΡΡΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ ΠΎ ΡΠΈΠΏΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π°, Π° Π½Π΅ ΠΎ ΡΠΈΠΏΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π’Π°ΠΊ ΡΡΠΎ Π±ΠΎΠΊΡΠΈΠ½Π³/Π°Π½Π±ΠΎΠΊΡΠΈΠ½Π³ Π½Π΅ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ, ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ int Π½Π΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌ, ΡΠ΅ΠΌ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Object (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Integer). Π₯ΠΎΡΡ, ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΈ ΠΊΠ°ΠΊ Object, ΠΈ ΠΊΠ°ΠΊ Integer. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅.
ΠΠΎΠ³Π΄Π° ΡΡΠ΅Π΄ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΉ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ β Π² ΠΊΠ»Π°ΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π²ΡΠ±ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ (ΡΠ°Π½Π½Π΅Π΅ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅). Π Π΄Π΅ΡΠ°Π»ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²ΡΠ±ΠΎΡΠ° ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΠΏΠΈΡΠ°Π½ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΡΠ±ΠΎΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² Π΄Π²Π° ΡΠ°Π³Π°. ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΡΠ΅Ρ ΡΠ°Π· β ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
1. ΠΠ΅ΡΠΎΠ΄Ρ, Π² ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΏΠΎ ΡΠΈΠΏΡ Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ Π΅ΡΡΡ, Π»ΠΈΠ±ΠΎ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ (upcasting) ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² ΠΈΠ»ΠΈ ΡΡΡΠ»ΠΎΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ², ΠΈΡΠΊΠ»ΡΡΠ°Ρ vararg-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
2. ΠΡΠ»ΠΈ Π² ΡΠ°Π·Π΅ 1 ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π½Π΅ Π½Π°ΡΠ»ΠΎΡΡ, ΠΊ Π΅Π΅ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±ΠΎΠΊΡΠΈΠ½Π³Π°/Π°Π½Π±ΠΎΠΊΡΠΈΠ½Π³Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠΊΡΠΈΠ½Π³+ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
3. ΠΡΠ»ΠΈ ΠΈ Π΄Π»Ρ ΡΠ°Π·Ρ 2 Π½Π΅Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΠ³Π½Π°ΡΡΡ, ΠΊ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ vararg-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
Π ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ Π½Π°ΡΠ΅Π»ΡΡ Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π·Π΅, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ.
ΠΠΎΠ³Π΄Π° Π² ΡΠ°Π·Π΅ ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΉ ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ (Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π·Ρ!).
ΠΠ΅ΡΠΎΠ΄ A ΡΡΠΈΡΠ°Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌ ΡΠ΅ΠΌ B, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠΏΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° β ΠΏΠΎΠ΄ΡΠΈΠΏΡ ΡΠΈΠΏΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄ΡΡΠ³ΠΎΠ³ΠΎ. Π’ΠΎ Π΅ΡΡΡ Π»ΡΠ±ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² A ΠΏΠΎΠ΄ΠΎΡΠ»ΠΈ Π±Ρ ΠΈ Π΄Π»Ρ B, Π½ΠΎ Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
Π ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΡΡΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ ΠΎ ΡΠΈΠΏΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π°, Π° Π½Π΅ ΠΎ ΡΠΈΠΏΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π’Π°ΠΊ ΡΡΠΎ Π±ΠΎΠΊΡΠΈΠ½Π³/Π°Π½Π±ΠΎΠΊΡΠΈΠ½Π³ Π½Π΅ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ, ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ int Π½Π΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌ, ΡΠ΅ΠΌ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Object (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Integer). Π₯ΠΎΡΡ, ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΈ ΠΊΠ°ΠΊ Object, ΠΈ ΠΊΠ°ΠΊ Integer. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅.
ΠΠΎΠ³Π΄Π° ΡΡΠ΅Π΄ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΉ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
π14π₯3
ΠΡΠΈΡ
ΠΎΠ΄ΠΈΡΠ΅ Π½Π° Π½Π°Ρ Π―.Π‘ΡΠ±Π±ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎ JVM β 29 ΠΈΡΠ½Ρ Π² ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡΡΠΊΠ΅!
ΠΠ°Ρ ΠΆΠ΄ΡΡ ΠΌΠΈΡΠ°ΠΏ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄ Π½Π° Java, Scala ΠΈ Kotlin.
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ β Π΄ΠΎΠΊΠ»Π°Π΄Ρ ΠΊΡΡΡΡΡ ΡΠΏΠΈΠΊΠ΅ΡΠΎΠ², Π½Π΅ΡΠ²ΠΎΡΠΊΠΈΠ½Π³ ΠΈ Π°ΡΡΠ΅ΡΠΏΠ°ΡΠΈ. Π Π°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΏΡΠΎ pattern matching, ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈ ΡΠ°ΠΊΠ°ΠΏΡ Π½Π° ΡΠΊΠ»Π°Π΄Π°Ρ ΠΠ°ΡΠΊΠ΅ΡΠ°, Π° Π΅ΡΠ΅ ΠΏΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»Π°ΡΡ Π½Π°ΡΡΡΠ΅Π½Π½ΠΎΠΉ β Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅.
ΠΠΎ Π²ΡΡΡΠ΅ΡΠΈ Π½Π° Π‘ΡΠ±Π±ΠΎΡΠ½ΠΈΠΊΠ΅! βοΈ
ΠΠ°Ρ ΠΆΠ΄ΡΡ ΠΌΠΈΡΠ°ΠΏ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄ Π½Π° Java, Scala ΠΈ Kotlin.
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ β Π΄ΠΎΠΊΠ»Π°Π΄Ρ ΠΊΡΡΡΡΡ ΡΠΏΠΈΠΊΠ΅ΡΠΎΠ², Π½Π΅ΡΠ²ΠΎΡΠΊΠΈΠ½Π³ ΠΈ Π°ΡΡΠ΅ΡΠΏΠ°ΡΠΈ. Π Π°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΏΡΠΎ pattern matching, ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈ ΡΠ°ΠΊΠ°ΠΏΡ Π½Π° ΡΠΊΠ»Π°Π΄Π°Ρ ΠΠ°ΡΠΊΠ΅ΡΠ°, Π° Π΅ΡΠ΅ ΠΏΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»Π°ΡΡ Π½Π°ΡΡΡΠ΅Π½Π½ΠΎΠΉ β Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅.
ΠΠΎ Π²ΡΡΡΠ΅ΡΠΈ Π½Π° Π‘ΡΠ±Π±ΠΎΡΠ½ΠΈΠΊΠ΅! βοΈ
π4π₯3β€2π1
ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ?
Π£Π΄ΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ»ΡΡΠ°ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° RetentionPolicy:
SOURCE β Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π½ΠΎ Π½Π΅ Π²ΠΎΠ²Π»Π΅ΡΠ΅Π½Π° Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ. ΠΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΈΡ Π½Π° Π΄Π²Π΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ:
ΠΠ΅ΡΠ²Π°Ρ β Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, Π° Π½Π΅ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΎ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΌΠ°ΡΠΊΠ΅ΡΡ. ΠΠ½ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π°Π½Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΡΠΈΠΌΠ΅ΡΡ β @Immutable ΠΈ @ThreadSafe ΠΈΠ· Hibernate.
ΠΡΠΎΡΠ°Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ β ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, @SuppressWarnings ΠΈ @Override ΠΌΠΎΠ³ΡΡ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. IntelliJ IDEA ΡΠΌΠ΅Π΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ @Nullable ΠΈ @NonNull ΠΈΠ· Spring Framework, ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ NullPointerException.
CLASS β ΡΠ°ΠΌΠΎΠ΅ ΡΠΊΠ·ΠΎΡΠΈΡΠ΅ΡΠΊΠΎΠ΅, Π½ΠΎ ΠΏΡΠΈ ΡΠΎΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ½Π½ΠΎΡΠ°ΡΠΈΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² Π±Π°ΠΉΡΠΊΠΎΠ΄ .class-ΡΠ°ΠΉΠ»Π°, Π½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠΌ ΠΊΠ»Π°ΡΡΠΎΠ². Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°ΠΊΠ°Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ ΡΠ΅ΡΠ»Π΅ΠΊΡΠ½Π°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΡ Π±Π°ΠΉΡΠΊΠΎΠ΄, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡΠΎΠ².
RUNTIME β ΡΠ°ΠΌΠΎΠ΅ Ρ ΠΎΠ΄ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π¦Π΅Π»Ρ ΡΠ½Π°Π±ΠΆΠ°Π΅ΡΡΡ ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π‘Π°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ Π²ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ. ΠΠ»Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ»ΡΠ·Ρ runtime-Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠ½Π³Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΠΈΡΠ°Π΅Ρ ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Reflection API. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²: Spring, Hibernate, Jackson.
Π£Π΄ΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ»ΡΡΠ°ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° RetentionPolicy:
SOURCE β Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π½ΠΎ Π½Π΅ Π²ΠΎΠ²Π»Π΅ΡΠ΅Π½Π° Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ. ΠΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΈΡ Π½Π° Π΄Π²Π΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ:
ΠΠ΅ΡΠ²Π°Ρ β Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, Π° Π½Π΅ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΎ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΌΠ°ΡΠΊΠ΅ΡΡ. ΠΠ½ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π°Π½Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΡΠΈΠΌΠ΅ΡΡ β @Immutable ΠΈ @ThreadSafe ΠΈΠ· Hibernate.
ΠΡΠΎΡΠ°Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ β ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, @SuppressWarnings ΠΈ @Override ΠΌΠΎΠ³ΡΡ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. IntelliJ IDEA ΡΠΌΠ΅Π΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ @Nullable ΠΈ @NonNull ΠΈΠ· Spring Framework, ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ NullPointerException.
CLASS β ΡΠ°ΠΌΠΎΠ΅ ΡΠΊΠ·ΠΎΡΠΈΡΠ΅ΡΠΊΠΎΠ΅, Π½ΠΎ ΠΏΡΠΈ ΡΠΎΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ½Π½ΠΎΡΠ°ΡΠΈΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² Π±Π°ΠΉΡΠΊΠΎΠ΄ .class-ΡΠ°ΠΉΠ»Π°, Π½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠΌ ΠΊΠ»Π°ΡΡΠΎΠ². Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°ΠΊΠ°Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ ΡΠ΅ΡΠ»Π΅ΠΊΡΠ½Π°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΡ Π±Π°ΠΉΡΠΊΠΎΠ΄, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡΠΎΠ².
RUNTIME β ΡΠ°ΠΌΠΎΠ΅ Ρ ΠΎΠ΄ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π¦Π΅Π»Ρ ΡΠ½Π°Π±ΠΆΠ°Π΅ΡΡΡ ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π‘Π°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ Π²ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ. ΠΠ»Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ»ΡΠ·Ρ runtime-Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠ½Π³Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΠΈΡΠ°Π΅Ρ ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Reflection API. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²: Spring, Hibernate, Jackson.
π13π₯2
βΠΡΠΌΠ°Π΅ΡΠ΅, Π²Ρ Π·Π½Π°Π΅ΡΠ΅ Π²ΡΠ΅ ΠΏΡΠΎ ΠΠΠ?
β‘οΈΠΠ΄Π΅ΠΌ Π²Π°Ρ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΡΠΊΡΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ Β«ΠΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎ ΠΠΠΒ» ΠΎΡ OTUS, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Π°ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
ΠΠ°Π½ΡΡΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΠ·ΡΠΊΠ΅.
πΠ‘ΠΏΠΈΠΊΠ΅Ρ ΠΠ²Π³Π΅Π½ΠΈΠΉ Π’ΡΠΌΠ΅Π½ΡΠ΅Π² β Π΄ΠΈΡΠ΅ΠΊΡΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ.
π₯ΠΡΡΡΠ΅ΡΠ°Π΅ΠΌΡΡ 19 ΠΈΡΠ½Ρ Π² 20:00 ΠΌΡΠΊ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΡΡΡΠ° Β«ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ». ΠΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ Π²Π΅Π±ΠΈΠ½Π°ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π½Ρ Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅!
πΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΡΠ΅ΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΡΡΠΎΠΊ: https://vk.cc/cxG2et
β‘οΈΠΠ΄Π΅ΠΌ Π²Π°Ρ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΡΠΊΡΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ Β«ΠΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎ ΠΠΠΒ» ΠΎΡ OTUS, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Π°ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
ΠΠ°Π½ΡΡΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΠ·ΡΠΊΠ΅.
πΠ‘ΠΏΠΈΠΊΠ΅Ρ ΠΠ²Π³Π΅Π½ΠΈΠΉ Π’ΡΠΌΠ΅Π½ΡΠ΅Π² β Π΄ΠΈΡΠ΅ΠΊΡΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ.
π₯ΠΡΡΡΠ΅ΡΠ°Π΅ΠΌΡΡ 19 ΠΈΡΠ½Ρ Π² 20:00 ΠΌΡΠΊ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΡΡΡΠ° Β«ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ». ΠΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ Π²Π΅Π±ΠΈΠ½Π°ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π½Ρ Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅!
πΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΡΠ΅ΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΡΡΠΎΠΊ: https://vk.cc/cxG2et
π2β€1π₯1
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ assert?
assert β Π½Π΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²ΡΠΎΠ΄Π΅ assertTrue() ΠΈΠ· ΡΠ΅ΡΡΠΎΠ²ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΡΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ, ΡΠ½Π°ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ.
ΠΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ, Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠΎΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° boolean. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ false, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ²Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΈ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ AssertionError. ΠΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΡ ΠΏΠ°ΡΡ if ΠΈ throw, Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
Π Java Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 4 ΡΠ»ΠΎΠ²ΠΎ assert Π½Π΅ Π±ΡΠ»ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ. ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ Π²ΡΠΊΠ»ΡΡΠ΅Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ β Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° assert!
ΠΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ»Π°Π³ΠΎΠΌ -ea ΠΈΠ»ΠΈ -enableassertions ΠΊΠΎΠΌΠ°Π½Π΄Ρ java. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ Π² ΠΊΠΎΡΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ. ΠΡΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠ»Π°Π³ -da (-disableassertions), ΡΡΠΈ ΡΠ»Π°Π³ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ.
Assertion-Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΡΠ°Ρ ΠΎΠ²ΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ. ΠΡΠ±ΡΠΎΡΠ΅Π½Π½ΡΠΉ AssertionError ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° assert Π΅ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° detailMessage Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ AssertionError:
assert β Π½Π΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²ΡΠΎΠ΄Π΅ assertTrue() ΠΈΠ· ΡΠ΅ΡΡΠΎΠ²ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΡΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ, ΡΠ½Π°ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ.
ΠΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ, Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠΎΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° boolean. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ false, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ²Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΈ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ AssertionError. ΠΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΡ ΠΏΠ°ΡΡ if ΠΈ throw, Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
Π Java Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 4 ΡΠ»ΠΎΠ²ΠΎ assert Π½Π΅ Π±ΡΠ»ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ. ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ Π²ΡΠΊΠ»ΡΡΠ΅Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ β Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° assert!
ΠΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ»Π°Π³ΠΎΠΌ -ea ΠΈΠ»ΠΈ -enableassertions ΠΊΠΎΠΌΠ°Π½Π΄Ρ java. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ Π² ΠΊΠΎΡΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ. ΠΡΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠ»Π°Π³ -da (-disableassertions), ΡΡΠΈ ΡΠ»Π°Π³ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ.
Assertion-Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΡΠ°Ρ ΠΎΠ²ΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ. ΠΡΠ±ΡΠΎΡΠ΅Π½Π½ΡΠΉ AssertionError ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° assert Π΅ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° detailMessage Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ AssertionError:
assert 2*2==5 : "two times two is not five!";
π13β€6
Π£Π·Π½Π°ΠΉΡΠ΅ Π½Π° ΠΎΡΠΊΡΡΡΠΎΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΎΡ OTUS, Π³Π΄Π΅ ΠΌΡ:
- ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π² Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Redis Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ in-memory ΠΊΠ΅ΡΠ°;
- ΡΠ²ΠΈΠ΄ΠΈΠΌ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ;
- ΠΎΡΠ²Π΅ΡΠΈΠΌ Π½Π° Π²ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ.
Π‘ΠΏΠΈΠΊΠ΅Ρ Π‘Π΅ΡΠ³Π΅ΠΉ ΠΠ΅ΡΡΠ΅Π»Π΅Π²ΠΈΡ β ΠΎΠΏΡΡΠ½ΡΠΉ Java/Kotlin-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Oracle Certified Professional, Java SE 8 Programmer.
ΠΡΡΡΠ΅ΡΠ°Π΅ΠΌΡΡ 25 ΠΈΡΠ½Ρ Π² 20:00 ΠΌΡΠΊ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΡΡΡΠ° Β«Java Developer. ProfessionalΒ».
ΠΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ Π²Π΅Π±ΠΈΠ½Π°ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π½Ρ Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅!
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
β€2π1π₯1
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠ΅ΡΠΊΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ?
ΠΠ°Π²Π΅ΡΠ½ΡΠΊΠ° Π²Π°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΠΈΡΠ°ΡΡ Π½Π΅ΡΠΊΠ»ΡΠΆΠΈΠΉ ΠΊΠΎΠ΄ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»ΠΎΠ² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ:
Π Java ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΊΠΎΠ΄ Π² ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ β ΠΌΠ΅ΡΠΊΠΈ (label).
ΠΠ΅ΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠ½ΠΊΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² break ΠΈ continue. ΠΠΎΠΌΠ΅ΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π»ΡΠ±ΠΎΠΉ Π±Π»ΠΎΠΊ β ΡΠΈΠΊΠ» for, while, Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ Π±Π»ΠΎΠΊ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ switch ΠΈ if. ΠΠ΅ΡΠΊΠΈ Π΄Π΅Π»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° break Π²Π½Π΅ ΡΠΈΠΊΠ»Π°, Ρ ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·Ρ Π² ΡΡΠΎΠΌ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ.
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° β ΠΌΠ΅ΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΡΠΎΡΠ΅Π΄Π½ΠΈΠΉ ΡΠΈΠΊΠ» Π½Π΅ Π²ΡΠΉΠ΄Π΅Ρ.
ΠΠ°Π²Π΅ΡΠ½ΡΠΊΠ° Π²Π°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΠΈΡΠ°ΡΡ Π½Π΅ΡΠΊΠ»ΡΠΆΠΈΠΉ ΠΊΠΎΠ΄ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΠΊΠ»ΠΎΠ² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ:
boolean flag = false;
for (...) {
for (...) {
if (...) { x = true; break; }
}
if (flag == true) break;
}
Π Java ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΊΠΎΠ΄ Π² ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ β ΠΌΠ΅ΡΠΊΠΈ (label).
ΠΠ΅ΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠ½ΠΊΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² break ΠΈ continue. ΠΠΎΠΌΠ΅ΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π»ΡΠ±ΠΎΠΉ Π±Π»ΠΎΠΊ β ΡΠΈΠΊΠ» for, while, Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ Π±Π»ΠΎΠΊ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ switch ΠΈ if. ΠΠ΅ΡΠΊΠΈ Π΄Π΅Π»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° break Π²Π½Π΅ ΡΠΈΠΊΠ»Π°, Ρ ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·Ρ Π² ΡΡΠΎΠΌ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ.
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° β ΠΌΠ΅ΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΡΠΎΡΠ΅Π΄Π½ΠΈΠΉ ΡΠΈΠΊΠ» Π½Π΅ Π²ΡΠΉΠ΄Π΅Ρ.
π9π€¨7π3π₯1π1
ΠΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ΅Ρ , ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΡΡΠ°ΡΡ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Ρ Π½ΡΠ»Ρ ΠΈ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π΅ΡΠ΅ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΡΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
- ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Java;
- ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ;
- ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
- ΠΏΡΠ΅ΡΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Middle Java Developer.
ΠΡ ΠΎΡΠ²ΠΎΠΈΡΠ΅ ΡΠ°ΠΌΡΠ΅ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ.
ΠΠ°Π±ΡΠ΄ΡΡΠ΅ ΠΎ ΡΠΊΡΡΠ½ΠΎΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ β Π·Π΄Π΅ΡΡ Π²Π°Ρ ΠΆΠ΄ΡΡ Π½Π°ΡΡΠΎΡΡΠΈΠ΅ ΡΠ΅Π»Π»Π΅Π½Π΄ΠΆΠΈ ΠΈ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Π Π΅ΡΠ΅ ΡΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ ΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΏΠΎΡΡ!
π Π£ΡΠΏΠ΅ΠΉ Π½Π° ΠΊΡΡΡ! Π’ΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ 23 ΠΈΡΠ½Ρ ΡΠΊΠΈΠ΄ΠΊΠ° 10%, ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Ρ Π½Π°ΡΠΈΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² - ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΠ°Π²Ρ Π·Π°ΡΠ²ΠΊΡ.
Π‘ΡΠ°ΡΡ ΡΠΆΠ΅ 28 ΠΈΡΠ½Ρ.
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
π2π₯2
ΠΠ°ΠΊ Π½Π΅Π»ΡΠ·Ρ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅?
ΠΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΠΎΡΠ²Π΅Ρ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉ. ΠΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅. Π‘ΡΠΈΠ»Ρ β ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ΅ΠΌΠ°, Π½Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Π°Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Java, Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π½Π° Π½Π΅ΠΉ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ.
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π°Π»Π°Π³Π°Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΈΠΌΠ΅Π½Π° ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΠ°ΠΊ ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΈ Π²ΡΠ΅Π³ΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ. ΠΡΠΈ ΠΈΠΌΠ΅Π½Π° ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ:
1. ΠΠΌΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ;
2. ΠΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Character.isJavaIdentifierStart();
3. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Character.isJavaIdentifierPart().
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ ΠΈΠΌΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Unicode, ΠΊΠ°ΠΊ:
β’ ΠΡΠΊΠ²Ρ (ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ²)
β’ Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ Π²Π°Π»ΡΡ (ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ $)
β’ Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ (ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ _)
β’ ΠΠΈΠ°ΠΊΡΠΈΡΠΈΠΊΠ° (combining mark, non-spacing mark)
β’ ΠΠ΅ΡΠΎΠ΄Ρ, ΠΏΡΠΎΡ ΠΎΠ΄ΡΡΠΈΠ΅ Character.isIdentifierIgnorable() (Π½Π΅ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π² ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ)
β’ Π¦ΠΈΡΡΡ, ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ (ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΈΠΌΡΠΊΠΈΠ΅ ΡΠΈΡΠ»Π°)
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΡΠ½ΠΊΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈΠΌΠ΅Π½ΠΈ. Π’ΠΈΠΏ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Character.getType().
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ var. ΠΠ½ΠΎ ΡΡΠΎΠΈΡ ΠΎΡΠΎΠ±Π½ΡΠΊΠΎΠΌ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ², ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΠΈΠΏΠ°. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ var Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ.
ΠΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΠΎΡΠ²Π΅Ρ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉ. ΠΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅. Π‘ΡΠΈΠ»Ρ β ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ΅ΠΌΠ°, Π½Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Π°Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Java, Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π½Π° Π½Π΅ΠΉ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ.
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π°Π»Π°Π³Π°Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΈΠΌΠ΅Π½Π° ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΠ°ΠΊ ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΈ Π²ΡΠ΅Π³ΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ. ΠΡΠΈ ΠΈΠΌΠ΅Π½Π° ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ:
1. ΠΠΌΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ;
2. ΠΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Character.isJavaIdentifierStart();
3. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Character.isJavaIdentifierPart().
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ ΠΈΠΌΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Unicode, ΠΊΠ°ΠΊ:
β’ ΠΡΠΊΠ²Ρ (ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ²)
β’ Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ Π²Π°Π»ΡΡ (ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ $)
β’ Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ (ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ _)
β’ ΠΠΈΠ°ΠΊΡΠΈΡΠΈΠΊΠ° (combining mark, non-spacing mark)
β’ ΠΠ΅ΡΠΎΠ΄Ρ, ΠΏΡΠΎΡ ΠΎΠ΄ΡΡΠΈΠ΅ Character.isIdentifierIgnorable() (Π½Π΅ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π² ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ)
β’ Π¦ΠΈΡΡΡ, ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ (ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΈΠΌΡΠΊΠΈΠ΅ ΡΠΈΡΠ»Π°)
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΡΠ½ΠΊΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈΠΌΠ΅Π½ΠΈ. Π’ΠΈΠΏ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Character.getType().
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ var. ΠΠ½ΠΎ ΡΡΠΎΠΈΡ ΠΎΡΠΎΠ±Π½ΡΠΊΠΎΠΌ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ², ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΠΈΠΏΠ°. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ var Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ.
π12
ΠΠ΄ΡΠΌ Π²Π°Ρ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°Π½ΡΡΠΈΠΈ ΡΠ΅ΡΠΈΠΈ ΠΎΡΠΊΡΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠΎΠΊΠΎΠ² ΠΏΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Spring-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ OTUS, Π³Π΄Π΅ ΠΌΡ:
- ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΠΎΠΊΡΡ Π½Π° ΡΠ΅ΠΎΡΠΈΠΈ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ;
- ΠΎΠ±ΡΡΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΡΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΡΡ Π±ΡΠ²Π°ΡΡ ΠΈ ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΈΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠ°ΠΊ JUnit5, Mockito, AssertJ Ρ ΡΡΠ΅ΡΠΎΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ;
- ΠΎΡΠ²Π΅ΡΠΈΠΌ Π½Π° Π²ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ.
Π‘ΠΏΠΈΠΊΠ΅Ρ β Senior Software Engineer ΠΈ ΠΎΠΏΡΡΠ½ΡΠΉ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ.
ΠΡΡΡΠ΅ΡΠ°Π΅ΠΌΡΡ 24 ΠΈΡΠ½Ρ Π² 20:00 ΠΌΡΠΊ Π² ΠΏΡΠ΅Π΄Π΄Π²Π΅ΡΠΈΠΈ ΡΡΠ°ΡΡΠ° ΠΊΡΡΡΠ° Β«Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° Spring FrameworkΒ».
ΠΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ Π²Π΅Π±ΠΈΠ½Π°ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π½Ρ Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅!
π Π’ΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ 23 ΠΈΡΠ½Ρ ΡΠΊΠΈΠ΄ΠΊΠ° Π½Π° ΠΊΡΡΡ 10%, ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Ρ Π½Π°ΡΠΈΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² - ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΠ°Π²Ρ Π·Π°ΡΠ²ΠΊΡ.
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
π2π₯2β€1
ΠΠ΄Π΅ Ρ Java ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠ° Π²Ρ
ΠΎΠ΄Π°?
Π ΠΎΠ±ΡΡΠ½ΠΎΠΌ Java ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ main class, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ main. Π‘ Π½Π΅Π³ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Main class-ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°ΡΡ, Π½ΠΎ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈΠ»ΠΈ Π΅Π½Π°ΠΌ. ΠΠ»Ρ JavaFX ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π³Π»Π°Π²Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ javafx.application.Application.
main ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ public static. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ strictfp. ΠΠ° Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ.
Π Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ β ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ. ΠΠ±Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ String[] ΠΈ String... ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ ΠΎΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°. ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΡΠΌ, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ classpath, Π³Π»Π°Π²Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊ, ΠΎΠ½ ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ main class.
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ jar-ΡΠ°ΠΉΠ»Π° (java -jar MyJar.jar), Π΅Π³ΠΎ Π³Π»Π°Π²Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅. ΠΠ½ΡΡΡΠΈ Π°ΡΡ ΠΈΠ²Π°, Π² ΡΠ°ΠΉΠ» META-INF/MANIFEST.MF Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΡΠΊΠ° Π²ΠΈΠ΄Π° Main-Class: ru.itsobes.MyClass. ΠΠ½Π°ΡΠ΅ Π·Π°ΠΏΡΡΠΊ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Β«no main manifest attributeΒ».
Π ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π³Π»Π°Π²Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ Π½Π΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ» Π²ΡΠ΅ΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Β«Main method not foundΒ».
Π Π°ΠΏΠΏΠ»Π΅ΡΠ°Ρ Π²ΠΌΠ΅ΡΡΠΎ main Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ ΡΠ»ΡΠΆΠ°Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ init ΠΈ start. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ Java 9 ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π°ΠΏΠΏΠ»Π΅ΡΠΎΠ² ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ, Π° Ρ 11 β ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ΄Π°Π»Π΅Π½Π°. ΠΠ΅ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π½Π° Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
Π ΠΎΠ±ΡΡΠ½ΠΎΠΌ Java ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ main class, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ main. Π‘ Π½Π΅Π³ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Main class-ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°ΡΡ, Π½ΠΎ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈΠ»ΠΈ Π΅Π½Π°ΠΌ. ΠΠ»Ρ JavaFX ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π³Π»Π°Π²Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ javafx.application.Application.
main ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ public static. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ strictfp. ΠΠ° Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ.
Π Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ β ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ. ΠΠ±Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ String[] ΠΈ String... ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ ΠΎΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°. ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΡΠΌ, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ classpath, Π³Π»Π°Π²Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊ, ΠΎΠ½ ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ main class.
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ jar-ΡΠ°ΠΉΠ»Π° (java -jar MyJar.jar), Π΅Π³ΠΎ Π³Π»Π°Π²Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅. ΠΠ½ΡΡΡΠΈ Π°ΡΡ ΠΈΠ²Π°, Π² ΡΠ°ΠΉΠ» META-INF/MANIFEST.MF Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΡΠΊΠ° Π²ΠΈΠ΄Π° Main-Class: ru.itsobes.MyClass. ΠΠ½Π°ΡΠ΅ Π·Π°ΠΏΡΡΠΊ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Β«no main manifest attributeΒ».
Π ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π³Π»Π°Π²Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ Π½Π΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ» Π²ΡΠ΅ΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Β«Main method not foundΒ».
Π Π°ΠΏΠΏΠ»Π΅ΡΠ°Ρ Π²ΠΌΠ΅ΡΡΠΎ main Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ ΡΠ»ΡΠΆΠ°Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ init ΠΈ start. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ Java 9 ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π°ΠΏΠΏΠ»Π΅ΡΠΎΠ² ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ, Π° Ρ 11 β ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ΄Π°Π»Π΅Π½Π°. ΠΠ΅ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π½Π° Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
π8π₯2
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ?
Π’Π°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ-ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΠ»Π»Π±ΡΠΊ.
Π§ΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΡΠΈΡΠ°Π» ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ, ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄. ΠΠ΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ ΡΠ΅Π»ΠΎΠΌ. ΠΠ΅ΡΠ΅ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° Object ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ.
ΠΠΈΠΊΠ°ΠΊΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ: ΠΎΠ½ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π² ΡΠΈΠΏΠ°Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π»ΡΠ±ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΠΌΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ (checked ΠΈ unchecked).
ΠΠ°ΠΆΠ΅ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ ΡΠΈΠΏΠΎΠ² ΠΊΡΠΎΠΌΠ΅ interface Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΡΠΈΡΠ°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠ΅ΠΉ @FunctionalInterface. ΠΠ°Π»ΠΈΡΠΈΠ΅ ΡΡΠΎΠΉ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ Π½Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π½ΠΎ ΠΎΠ½ΠΎ Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ: Π΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ Π½Π° Π½Π΅ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΠΈΠΏΠ΅ ΡΠΏΡΠΎΠ²ΠΎΡΠΈΡΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²: Callable, Supplier, Comparable.
Π’Π°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ-ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΠ»Π»Π±ΡΠΊ.
Π§ΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΡΠΈΡΠ°Π» ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ, ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄. ΠΠ΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ ΡΠ΅Π»ΠΎΠΌ. ΠΠ΅ΡΠ΅ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° Object ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ.
ΠΠΈΠΊΠ°ΠΊΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ: ΠΎΠ½ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π² ΡΠΈΠΏΠ°Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π»ΡΠ±ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΠΌΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ (checked ΠΈ unchecked).
ΠΠ°ΠΆΠ΅ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ ΡΠΈΠΏΠΎΠ² ΠΊΡΠΎΠΌΠ΅ interface Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΡΠΈΡΠ°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠ΅ΠΉ @FunctionalInterface. ΠΠ°Π»ΠΈΡΠΈΠ΅ ΡΡΠΎΠΉ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ Π½Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π½ΠΎ ΠΎΠ½ΠΎ Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ: Π΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ Π½Π° Π½Π΅ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΠΈΠΏΠ΅ ΡΠΏΡΠΎΠ²ΠΎΡΠΈΡΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²: Callable, Supplier, Comparable.
π16π₯2
Π‘ΡΠ΅ΠΊ: Java 8+, Spring, Spring Boot, SQL (PostgreSQL, ΡΠ΅ΠΆΠ΅ MySQL), Π±ΡΠΎΠΊΠ΅ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ (Kafka), Celery, Docker.
ΠΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ
1. ΠΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π½Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ
2. ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ ΡΠΈΠΌΠ»ΠΈΠ΄ Π² ΡΠΎΠ»ΠΈ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊΠ°
3. Π’ΡΡΠ΄ΠΎΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΠΎ Π’Π Π Π€
4. ΠΠ°ΡΠΏΠ»Π°ΡΠ° Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ°ΡΠΎΠ² Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
5. ΠΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΈΠ· Π΄ΠΎΠΌΠ° Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΎΠΏΠ»Π°ΡΡ ΠΊΠΎΠ²ΠΎΡΠΊΠΈΠ½Π³Π°
6. ΠΠΠ‘, Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΠΈ Π΄Ρ. Π±ΠΎΠ½ΡΡΡ
ΠΡ ΡΠ΅Π±Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ:
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Π² Spring, Spring Boot
ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π‘Π£ΠΠ (PostgreSQL, MySQL)
ΠΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡ 4-Ρ Π»Π΅ΡΠΠ½Π°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ² REST API
ΠΠΏΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (Git)
ΠΡΠΈΠΌΠ΅ΡΡ Π·Π°Π΄Π°Ρ: ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° backend ΡΡΠ΅ΠΉΠ΄ΠΈΠ½Π³ΠΎΠ²ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠ°, ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
ΠΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅
TG HR @apollinaurus
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ "ΠΠ ΠΠ‘Π’Π". ΠΠΠ 1841039706.
ΠΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ
1. ΠΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π½Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ
2. ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ ΡΠΈΠΌΠ»ΠΈΠ΄ Π² ΡΠΎΠ»ΠΈ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊΠ°
3. Π’ΡΡΠ΄ΠΎΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΠΎ Π’Π Π Π€
4. ΠΠ°ΡΠΏΠ»Π°ΡΠ° Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ°ΡΠΎΠ² Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
5. ΠΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΈΠ· Π΄ΠΎΠΌΠ° Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΎΠΏΠ»Π°ΡΡ ΠΊΠΎΠ²ΠΎΡΠΊΠΈΠ½Π³Π°
6. ΠΠΠ‘, Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΠΈ Π΄Ρ. Π±ΠΎΠ½ΡΡΡ
ΠΡ ΡΠ΅Π±Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ:
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Π² Spring, Spring Boot
ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π‘Π£ΠΠ (PostgreSQL, MySQL)
ΠΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡ 4-Ρ Π»Π΅ΡΠΠ½Π°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ² REST API
ΠΠΏΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (Git)
ΠΡΠΈΠΌΠ΅ΡΡ Π·Π°Π΄Π°Ρ: ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° backend ΡΡΠ΅ΠΉΠ΄ΠΈΠ½Π³ΠΎΠ²ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠ°, ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
ΠΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅
TG HR @apollinaurus
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ "ΠΠ ΠΠ‘Π’Π". ΠΠΠ 1841039706.
π₯±4π2
ΠΠ°ΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°?
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ β Π²ΡΡ Π΅ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΡΠ°ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ, ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ new. ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠΈ Π΄Π²Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ β Π΄Π²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
1. ΠΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅: (x, y) -> x * y
2. Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄: Math::sqrt
ΠΠ° ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅: ΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°/ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½ ΡΠ²Π½ΠΎ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π»ΡΠΌΠ±Π΄ΠΎΠΉ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄-ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΎΠΌ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ var. Π’Π°ΠΊΠΆΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π»ΡΠΌΠ±Π΄Ρ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ generic-ΡΠΈΠΏΠ°, ΡΡΠΎΡ ΡΠΈΠΏ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ (Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠΈΡΠ°ΡΡΡΡ Π² Π½Π΅Π³ΠΎ).
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ β Π²ΡΡ Π΅ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΡΠ°ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ, ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ new. ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠΈ Π΄Π²Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ β Π΄Π²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
1. ΠΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅: (x, y) -> x * y
2. Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄: Math::sqrt
ΠΠ° ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅: ΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°/ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½ ΡΠ²Π½ΠΎ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π»ΡΠΌΠ±Π΄ΠΎΠΉ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄-ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΎΠΌ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ var. Π’Π°ΠΊΠΆΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π»ΡΠΌΠ±Π΄Ρ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ generic-ΡΠΈΠΏΠ°, ΡΡΠΎΡ ΡΠΈΠΏ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ (Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠΈΡΠ°ΡΡΡΡ Π² Π½Π΅Π³ΠΎ).
π14π₯3
Media is too big
VIEW IN TELEGRAM
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΡΠΏΡΡΠΊΠ½ΠΈΠΊΠΎΠ² ΠΊΡΡΡΠ° Java Developer Professional ΠΎΡ ΠΡΡΡ, ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠ½Π΄ΡΠ΅Π΅Π², ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ ΠΎ ΡΠ²ΠΎΠ΅ΠΌ ΠΎΠΏΡΡΠ΅.
Π‘ΡΡΠ΄Π΅Π½ΡΡ Java Developer Professional Π²ΡΠ΄Π΅Π»ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΊΡΡΡΠ°:
βοΈ ΠΠ±ΠΈΠ»ΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°Π΄Π°Π½ΠΈΠΉ.
βοΈ ΠΡΡΠΎΠΊΠ°Ρ ΡΠΊΡΠΏΠ΅ΡΡΠΈΠ·Π° ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Π΅ΠΉ.
βοΈ ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌ Ρ ΡΠ·ΡΠΊΠΎΠΌ Java.
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΡΡΡΠ° ΡΡΡΠ΄Π΅Π½ΡΡ ΡΡΠ²ΡΡΠ²ΡΡΡ ΡΠ΅Π±Ρ ΡΠ²Π΅ΡΠ΅Π½Π½Π΅Π΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅ΡΠ΅ ΠΈ ΠΎΡΠΌΠ΅ΡΠ°ΡΡ, ΡΡΠΎ ΠΈΠΌ Π»Π΅Π³ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΈ.
ΠΡΡΠΏΠΏΠ° ΡΡΠ°ΡΡΡΠ΅Ρ ΡΠΆΠ΅ 27 ΠΈΡΠ½Ρ! Π£ΡΠΏΠ΅ΠΉΡΠ΅ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡ.
Π§ΡΠΎΠ±Ρ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠ²ΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π½Π°Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π½Π° ΠΊΡΡΡΠ΅, ΠΏΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π²ΡΡΡΠΏΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΡ.
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
π4π₯3
Π§ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ?
ΠΠ±ΡΡΠ½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠΎΠ²: ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ. Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ Π΄Π΅Π»Π°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π½ΠΎ Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°.
Π‘Π°ΠΌΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠ° β Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΈΠ· ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈΠ· ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΡΠ»ΡΡΠ°ΠΉ nested-ΠΊΠ»Π°ΡΡΠ°. ΠΠ½ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈ ΠΊΠ»Π°ΡΡΠΎΠΌ, ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ»Π΅Π½ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΉ, ΡΠ°ΠΊ ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠΌΠΏΠΎΡΡ.
Π―Π·ΡΠΊΠΎΠ²Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ static import ΠΎΠ±ΡΠ·Π°Π½Π° ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΡΠ°ΠΌ ΠΆΠ΅, Π³Π΄Π΅ ΠΈ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ β ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ package ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΠ°ΠΉΠ»Π°.
ΠΠ±ΡΡΠ½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠΎΠ²: ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ. Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ Π΄Π΅Π»Π°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π½ΠΎ Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°.
Π‘Π°ΠΌΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠ° β Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΈΠ· ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈΠ· ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΡΠ»ΡΡΠ°ΠΉ nested-ΠΊΠ»Π°ΡΡΠ°. ΠΠ½ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈ ΠΊΠ»Π°ΡΡΠΎΠΌ, ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ»Π΅Π½ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΉ, ΡΠ°ΠΊ ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠΌΠΏΠΎΡΡ.
Π―Π·ΡΠΊΠΎΠ²Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ static import ΠΎΠ±ΡΠ·Π°Π½Π° ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΡΠ°ΠΌ ΠΆΠ΅, Π³Π΄Π΅ ΠΈ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ β ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ package ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΠ°ΠΉΠ»Π°.
π9π₯3
ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ super?
ΠΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π°, super ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°:
1. ΠΠ°Π΄Π°ΡΡ Π½ΠΈΠΆΠ½ΡΡ Π³ΡΠ°Π½ΠΈΡΡ generic-ΡΠΈΠΏΠ°: Consumer<? super Number>
2. ΠΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ°-ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅ΠΊΡΡΡ (shadowed) ΡΠ»Π΅Π½Π°ΠΌΠΈ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ° ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ: int foo = super.foo
3. ΠΡΠ·Π²Π°ΡΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ: SubClass() { super("subclass param"); }
4. Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΠΈ, ΡΡΠΎΡΠ½ΠΈΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠΈΠΏ (Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅)
ΠΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π°, super ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°:
1. ΠΠ°Π΄Π°ΡΡ Π½ΠΈΠΆΠ½ΡΡ Π³ΡΠ°Π½ΠΈΡΡ generic-ΡΠΈΠΏΠ°: Consumer<? super Number>
2. ΠΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ°-ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅ΠΊΡΡΡ (shadowed) ΡΠ»Π΅Π½Π°ΠΌΠΈ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ° ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ: int foo = super.foo
3. ΠΡΠ·Π²Π°ΡΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ: SubClass() { super("subclass param"); }
4. Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΠΈ, ΡΡΠΎΡΠ½ΠΈΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠΈΠΏ (Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅)
π17π₯3π2