Java Geek
Kanalga Telegramβda oβtish
ΠΡΠ°ΠΊΡΠΈΡΠ½ΡΠ΅ ΡΠΎΠ²Π΅ΡΡ, Π»Π°ΠΉΡΡ Π°ΠΊΠΈ ΠΈ ΠΊΠΎΠ΄ Π΄Π»Ρ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΡΡ β ΡΠ΅Π°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ»ΡΠ·Π°. Π£ΡΠΈΠΌ Java Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ . ΠΠΎ Π²ΡΠ΅ΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ @evgenycarter
Ko'proq ko'rsatish2 379
Obunachilar
Ma'lumot yo'q24 soatlar
-97 kunlar
-3530 kunlar
Postlar arxiv
2 379
Π§ΡΠΎ Π½Π΅ ΡΠ°ΠΊ Ρ ΠΊΠΎΠ΄ΠΎΠΌ?
ΠΠ½ Π½Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ. ΠΡΠΎ Π²ΠΎΠΏΡΠΎΡ Π½Π° Π·Π½Π°Π½ΠΈΠ΅ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ: FileNotFoundException ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ ΠΎΡ IOException, ΠΏΠ΅ΡΠ²ΡΠΉ catch Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π° Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π±Π»ΠΎΠΊ catch ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠΎΡΡΠΎΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°: exception FileNotFoundException has already been caught.
@java_geek
2 379
ΠΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΡΠΊΠΎΠΉ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π»ΡΠ±ΠΎΠΉ collection Π² ΠΌΠ°ΡΡΠΈΠ²?
ΠΡΠ²Π΅Ρ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅.
@java_geek
2 379
ΠΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ
ΠΠΎΠ·Π²Π΅ΡΡΠΈ ΡΠΈΡΠ»ΠΎ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
1)ΠΏΡΠΎΡΡΠΎΠ΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅;
2)ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄ Math.pow() (Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅, Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ).
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»ΡΡΠ°Π΅ Π΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ.
ΠΡΠΎΡΡΠΎΠ΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Java ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² 300-600 ΡΠ°Π· ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ.
@java_geek
2 379
ΠΠ°ΠΊΠΈΠ΅ ΡΠΈΠΏΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π±ΡΠ²Π°ΡΡ Π² Java?
βοΈ Top level class (ΠΠ±ΡΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ):
βοΈ Abstract class (ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ);
βοΈ Final class (Π€ΠΈΠ½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ).
βοΈ Interfaces (ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ).
βοΈ Enum (ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅).
βοΈ Nested class (ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ):
βοΈ Static nested class (Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ);
βοΈ Member inner class (ΠΡΠΎΡΡΠΎΠΉ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠ»Π°ΡΡ);
βοΈ Local inner class (ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ);
βοΈ Anonymous inner class (ΠΠ½ΠΎΠ½ΠΈΠΌΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ).
@java_geek
2 379
Π§ΡΠΎ Π·Π½Π°ΡΠΈΡ Β«ΡΡΡΠΏΠΈΡΡΒ» ΠΏΠΎΡΠΎΠΊ?
ΠΡΠΎ Π·Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π²ΡΠ·Π²Π°Π² Π² Ρ
ΠΎΠ΄Π΅ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Thread.sleep() ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
. ΠΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½ ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ interrupt() Ρ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ InterruptedException.
@java_geek
2 379
ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π²ΡΠΊΠΎΠ²
ΠΠ²ΡΠΊ β Π²Π°ΠΆΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ
Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΠ³Ρ. Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌ.
@java_geek
2 379
ΠΠ°ΠΉΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ Β«ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΒ»
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΠΈΠΏ ΠΈ ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎ ΠΆΠ΅ ΠΈΠΌΡ, ΡΡΠΎ ΠΈ ΠΊΠ»Π°ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π΅Π³ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
@java_geek
2 379
Enum vs String
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Enum Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ°ΠΌ, Π³Π΄Π΅ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΡΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΈ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ
ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ. Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ, Π½Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π±ΡΡΡΡΠ΅Π΅ ΡΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΡΠ°Π²Π΄Π°, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΌΠΈΠ½ΡΡ β ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π·Π°ΠΌΠ΅ΡΠ½ΡΠΌ, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ.
ΠΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΊΠ°ΠΊ ΠΌΠ΅ΡΡΡ Π³ΠΎΠ΄Π°, ΡΠΎ ΡΠΌΠ΅Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅.
@java_geek
2 379
ΠΠ°ΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π±Π°ΠΉΡΠΎΠ²ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ?
β’ OutputStreamWriter β Β«ΠΌΠΎΡΡΒ» ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ OutputStream ΠΈ ΠΊΠ»Π°ΡΡΠΎΠΌ Writer. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² ΠΏΠΎΡΠΎΠΊ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π² Π±Π°ΠΉΡΡ.
β’ InputStreamReader β Π°Π½Π°Π»ΠΎΠ³ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° Reader ΡΠΈΡΠ°ΡΡΡΡ Π±Π°ΠΉΡΡ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ° InputStream ΠΈ Π΄Π°Π»Π΅Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π² ΡΠΈΠΌΠ²ΠΎΠ»Ρ.
@java_geek
2 379
ΠΡΠ΅Π½ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΠΌΡΡΠΈ Π½Π° Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π° ΡΠΈΠΏΠ° byte Π² ArrayList?
ArrayList ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΌΠ°ΡΡΠΈΠ²Π΅, Π΄Π»Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ
ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ 16 Π±Π°ΠΉΡ ΡΡΠ°ΡΠΈΡΡΡ Π½Π° Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ 4 Π±Π°ΠΉΡΠ° (8 Π΄Π»Ρ x64) - Π½Π° Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΡΠ°ΠΌΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅ Π΄Π°Π½Π½ΡΡ
.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² x32 JVM 4 Π±Π°ΠΉΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π° Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈ 16 Π±Π°ΠΉΡ - Π½Π° Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° Byte. ΠΠ»Ρ x64 - 8 Π±Π°ΠΉΡ ΠΈ 24 Π±Π°ΠΉΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
@java_geek
2 379
ΠΠ°ΠΊΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π² Π±Π»ΠΎΠΊΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°?
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ - Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ RuntimeException:
β’ Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π±Π»ΠΎΠΊΠΎΠ² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΡΠΎΡΠ΅Π½ΠΎ java.lang.ExceptionInInitializerError;
β’ Π΄Π»Ρ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ±ΡΠΎΡΠ΅Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅-ΠΈΡΡΠΎΡΠ½ΠΈΠΊ.
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ - Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ Error, ΡΠΎ Π² ΠΎΠ±ΠΎΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΡΠΎΡΠ΅Π½ΠΎ java.lang.Error. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅: java.lang.ThreadDeath - ΡΠΌΠ΅ΡΡΡ ΠΏΠΎΡΠΎΠΊΠ°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ±ΡΠΎΡΠ΅Π½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
@java_geek
2 379
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ switch?
ΠΠ°, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Java 7 Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ switch ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ, ΡΠ°Π½Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Java Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΠΎΠ³ΠΎ. ΠΡΠΈ ΡΡΠΎΠΌ:
β’ ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Ρ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ;
β’ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ equals() Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ case, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ NullPointerException ΡΡΠΎΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π½Π° null.
β’ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Java 7 Π΄Π»Ρ ΡΡΡΠΎΠΊ Π² switch, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Java ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ Π±Π°ΠΉΡΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΡΠΎΠΊ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ switch, ΡΠ΅ΠΌ Π΄Π»Ρ ΡΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΡ
ΡΡΠ»ΠΎΠ²ΠΈΠΉ if-else.
@java_geek
2 379
ΠΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π²Π΅ΡΡΠΈΠΉ Java Π²ΡΠ΄Π΅Π»ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ
ΠΠ΄Π΅ΡΡ ΡΠΎΠ±ΡΠ°Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ·Π²Π°Π»ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ.
βοΈ Pattern Matching β ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ instanceof Ρ ΠΏΠ°ΡΡΠ΅ΡΠ½-ΠΌΠ°ΡΡΠΈΠ½Π³ΠΎΠΌ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ°Π» ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ»Π°Π³Π° --enable-preview.
βοΈ Stream.toList() β ΠΌΠ΅ΡΠΎΠ΄ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Stream Π² Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ.
βοΈ Stream.mapMulti() β ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΉ Π°Π½Π°Π»ΠΎΠ³ Stream.flatMap(), ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Ρ Π΄Π²ΡΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, Π³Π΄Π΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ β ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π° Π²ΡΠΎΡΠΎΠΉ β Consumer, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠ»Π°Π΄ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
βοΈ Records β Π·Π°ΠΏΠΈΡΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π²ΡΠΎΠ΄Π΅ equals(), hashCode() ΠΈ toString().
@java_geek
2 379
Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ == ΠΈ .equals() Π² Java
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π² Java Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ±Π° equals() ΠΈ Β«==Β», Π½ΠΎ Π²ΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ:
1. ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ, Π° Π΄ΡΡΠ³ΠΎΠΉ - ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ.
2. ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ == Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΡΡΠ»ΠΎΠΊ (Π°Π΄ΡΠ΅ΡΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΠΈ) ΠΈ ΠΌΠ΅ΡΠΎΠ΄ .equals() Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ. ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, == ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π»ΠΈ ΠΎΠ±Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΌΠ΅ΡΡΠΎ Π² ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ .equals() ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ
.
3. ΠΡΠ»ΠΈ ΠΊΠ»Π°ΡΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ equals, ΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ equals Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ» ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄.
@java_geek
2 379
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Β«ΠΈΠ½ΡΠ΅ΡΠ½Π°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΡΒ», Β«Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡΒ»?
ΠΠ½ΡΠ΅ΡΠ½Π°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΡ (internationalization) - ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠΉ, Π³ΠΎΠ²ΠΎΡΡΡΠΈΡ
Π½Π° ΡΠ°Π·Π½ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
.
ΠΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ (localization) - Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ·ΡΠΊΠΎΠ². ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π²Π½Π΅ΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π² Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
@java_geek
2 379
Π§ΡΠΎ Π±ΡΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ equals() Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ hashCode()? ΠΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ?
ΠΠ»Π°ΡΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ. Π’Π°ΠΊ Π΄Π»Ρ HashMap ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΠ°ΡΠ° Β«ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅Β», ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° Π² Π½Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»ΡΡΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π² Π½Π΅ΠΉ Π½Π°ΠΉΠ΄Π΅Π½Π°.
@java_geek
2 379
ΠΠ΅ΡΠΎΠ΄ Math.random()
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0.0 Π΄ΠΎ 1.0. Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠΈ.
ΠΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ 10.
@java_geek
2 379
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Optional?
ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Optional β ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΠ»ΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ null. Π’Π°ΠΊΠ°Ρ ΠΎΠ±ΡΡΡΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ NullPointerException, Ρ.ΠΊ. ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°, ΠΈΠ·Π±Π°Π²Π»ΡΡΡΠΈΠ΅ ΠΎΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ
ΡΡ if null/notNull ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ.
@java_geek
2 379
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Reflection?
Π Π΅ΡΠ»Π΅ΠΊΡΠΈΡ (Reflection) - ΡΡΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (runtime). Π Java Reflection ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Java Reflection API, ΡΠΎΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΈΠ· ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² java.lang ΠΈ java.lang.reflect.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Java Reflection API:
β’ ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ°;
β’ ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°Ρ
ΠΊΠ»Π°ΡΡΠ°, ΠΏΠΎΠ»ΡΡ
, ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
, ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°Ρ
ΠΈ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°Ρ
;
β’ ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΡΡ
ΠΊΠ»Π°ΡΡΠΎΠΌ;
β’ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°;
β’ ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ°;
β’ ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ°;
β’ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°.
@java_geek
2 379
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π²ΡΠ±ΡΠΎΡΠΈΡΡ ConcurrentModificationException.
ΠΠΎΠΏΡΠΎΡ Ρ ΠΏΠΎΠ΄Π²ΠΎΡ
ΠΎΠΌ: ConcurrentModificationException ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ. ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΡΠ° ΡΡΡΠΊΠ° ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ Π½Π΅ΠΉ.
@java_geek
