Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ java
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ Π² Java?
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΆΠΈΠ²ΡΡ ΡΡΡΠ΅ΡΡΠ² Π² ΠΌΠ΅ΡΡΠ½ΠΎΡΡΠΈ. ΠΠ΅Π²Π°ΠΆΠ½ΠΎ, ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΡΡΠΎ, ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΡΠ°ΡΡΠ΅Π½ΠΈΠ΅. ΠΡΠ΅, ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΆΠΈΠ²ΡΠΌ ΡΡΡΠ΅ΡΡΠ²ΠΎΠΌ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ Π±Ρ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈΡ ΠΊΠ°ΠΊ Β«ΠΆΠΈΠ²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²Π°Β», Π° Π½Π΅ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈΡ .
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π΄Π»Ρ Π²Π°Ρ Π²Π°ΠΆΠ΅Π½ ΠΊΠΎΠ½ΡΠ΅Π½Ρ, Π° Π½Π΅ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π΄Π΅ΡΡ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ. ΠΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Java β ΡΡΠΎ ΡΠ·ΡΠΊΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Generics Π² Java?
ΠΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ Π² Java β ΡΡΠΎ ΡΠ΅ΡΠΌΠΈΠ½, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΠ±ΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Java ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΠΎ Generics ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΡΡ ΡΠΈΠΏΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Ρ.Π΅. Π½Π΅ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ . Π’Π΅ΠΏΠ΅ΡΡ Generics Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Java Ρ ΡΠ°Π½ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΊΠ»Π°ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java-ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ / Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΈΠΏΠ° Object. ΠΠΎ ΡΡΡΠΈ, Π² ΡΡΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΏ Java Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. ΠΠ½ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π½Π΅ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½Ρ, Ρ.Π΅. Π½Π΅ ΠΏΠΎΡ ΠΎΠΆΠ΅Π³ΠΎ ΡΠΈΠΏΠ°.
ΠΠ½ΠΎΠ³Π΄Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Java ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π²Π²ΠΎΠ΄Π° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ. ΠΡ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠ°. Π§ΡΠΎΠ±Ρ Π½Π°Π·Π½Π°ΡΠΈΡΡ Π²Π²ΠΎΠ΄ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ , Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ.
Π ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π²Π²ΠΎΠ΄Π°, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ . ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠ΄Π° ΠΈ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Ρ. Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΎΠ³ΠΎ, Π±ΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ.
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Generics, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΠΊΠΎΠ΄Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΈ ΠΎΠ½ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π’Π°ΠΊ ΡΡΠΎ ΡΡΠΎ ΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² Java.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ 4 ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ:
1. Π’ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡ
ΠΠ»Π°ΡΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ°. ΠΡΠΈ ΡΠΈΠΏΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΠΏΠ° ΠΊΠ»Π°ΡΡΠ° Java. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Ρ ΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΡΠΎΠ·Π΄Π°ΠΌ ΠΊΠ»Π°ΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ x, Π° ΡΠΈΠΏΠΎΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ.
ΠΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΠ΅ ΠΊΠ»Π°ΡΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ, ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΡΠΈΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠΈΠΏΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠ°Π» Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ x ΡΠΈΠΏΠ° βStringβ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ String.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΠΎΠ±ΡΡΠ²ΠΈΠ» ΡΠΈΠΏ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π»ΡΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄Π° get, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ ΡΠΈΠΏΡ Java ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ΄ΡΠΈΠΏΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° Object.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎΡ ΡΠΈΠΏ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ. ΠΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Β«GenericclassΒ» Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
ΠΡΠ° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ Π²Π΅ΡΠ½Π° ΠΈ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
2. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π² Java ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ ΡΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½ΡΡ . ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ Java Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ ΠΎΠ±ΡΠ°Π·ΡΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
3. ΠΠ΅ΡΠΎΠ΄Ρ
Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ. ΠΠ½ΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΈΠΌ Π°ΡΠΏΠ΅ΠΊΡΠΎΠΌ, Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΌΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΠ»ΠΈ ΡΠΈΠΏΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°. Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²Π²ΠΎΠ΄ΡΡ ΡΠ²ΠΎΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΠΏΠ°.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΄ΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ String Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π² ΡΡΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ. ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π½Π°ΠΉΡΠΈ ΡΠΈΡΠ»ΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΡΡΠΎΠΊ, ΡΡΠΎ Π΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
4. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Java β ΡΡΠΎ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π² Java, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΌΠ΅ΡΠΎΠ΄, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎ ΠΆΠ΅ ΠΈΠΌΡ, ΡΡΠΎ ΠΈ ΠΊΠ»Π°ΡΡ, ΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ Π² ΠΊΠΎΠ΄Π΅ Java.
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° Dimension ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠΏΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ² Π² Java
1. ΠΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ, ΠΊΠ»Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈΠ»ΠΈ Π»ΡΠ±ΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
2. ΠΠ°ΡΡΠΈΠ½Π³ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
ΠΠΎ ΡΡΡΠΈ, Π²Ρ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ArrayList ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΅Π΅ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ.
Π’ΠΈΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ. Π§ΡΠΎΠ±Ρ ΠΈΡΠΊΠΎΡΠ΅Π½ΠΈΡΡ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, Π±ΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ.
3. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ.
ΠΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ (Java, ΠΎΠ±ΡΡΠ°ΡΡΠ°Ρ ΡΡΠ°ΡΡΡ)
ΠΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΠ° ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ Π±ΡΠ»Π° Π²Π·ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· 6-ΠΎΠΉ Π³Π»Π°Π²Ρ ΠΊΠ½ΠΈΠ³ΠΈ Β«Oracle Certified Professional Java SE 7 Programmers Exams 1Z0-804 and 1Z0-805Β». ΠΠ½Π° Π±ΡΠ»Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° (ΠΊΠΎΠ΅-Π³Π΄Π΅ ΠΎΠ±ΡΠ΅Π·Π°Π½Π°, Π° ΠΊΠΎΠ΅-Π³Π΄Π΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Google ΠΈ ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ). ΠΠ΄Π΅ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ Π½ΡΠ°Π½ΡΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ² β Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ±ΠΎΠ±ΡΡΠ½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ. Π Java, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ J2SE 5.0, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΎΠ±ΠΎΠ±ΡΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° C++. ΠΠΈΠΆΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ generics (Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ) ΠΈΠ»ΠΈ > β ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΠΎΠ±ΡΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΠΏΡΡΡΠΈΠΌ ΠΌΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΠΎ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠ°Ρ ΠΈ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ).
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
Π Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π±ΡΠ»Π° Π΄ΠΎΠΏΡΡΠ΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°, ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π’Π΅ΠΏΠ΅ΡΡ Π½Π° Π²ΡΠ΅ΠΌΡ Π·Π°Π±ΡΠ΄Π΅ΠΌ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ² (ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈΠΌ ΡΡ ΠΆΠ΅ ΠΎΡΠΈΠ±ΠΊΡ):
Π‘Π°ΠΌΠΎΠ΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ (Π΄Π»Ρ ΠΌΠ΅Π½Ρ) Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ΅, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ:
ΠΡΠΌΠ°Ρ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΎΠ³Π»Π°ΡΡΡΡΡ, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Β«Π»ΡΡΡΠ΅Β» ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Ρ.ΠΊ. ΡΠΈΡΡΠΎ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΏΠ°ΡΡΡ ΡΡΠ΄Π°, ΠΊΡΠ΄Π° Π΅ΠΌΡ Π»ΡΡΡΠ΅ Π±Ρ ΠΈ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ. ΠΡΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠ΅ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²ΠΎ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ². Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠ°ΠΌ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ΄ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»ΡΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠΎΠΊΡ
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ BoxPrinter:
ΠΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ° Π² ΡΠ³Π»ΠΎΠ²ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ » » ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠΌΡ ΡΠΈΠΏΠ° «Π’», ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π’ β ΡΡΠΎ ΡΠΈΠΏ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ ΠΏΠΎΠ·ΠΆΠ΅ (ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ°).
ΠΠ½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ T Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»Ρ:
ΠΠ΄Π΅ΡΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΡΠΈΠΏΠ° (generic type), Ρ.ΠΎ. Π΅Ρ ΡΠΈΠΏ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°Π½ ΠΏΠΎΠ·ΠΆΠ΅, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ° BoxPrinter.
Π main()-ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅:
ΠΠ΄Π΅ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ Π’ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ Integer. ΠΡΡΠ±ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° value1 Π²ΡΠ΅ ΠΏΠΎΠ»Ρ Π’-ΡΠΈΠΏΠ° Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° BoxPrinter ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΏΠΎΠ»ΡΠΌΠΈ ΡΠΈΠΏΠ° Integer (private Integer val;).
ΠΡΡ ΠΎΠ΄Π½ΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ T:
ΠΠ°ΠΊ ΠΈ Π² Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ val Ρ ΡΠΈΠΏΠΎΠΌ Π’, Π²Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅, ΡΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° BoxPrinter ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ T. ΠΠΎΠ·ΠΆΠ΅ Π² main()-ΠΌΠ΅ΡΠΎΠ΄Π΅, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π² new, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ Π’ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ Integer:
Π’Π΅ΠΏΠ΅ΡΡ, Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° BoxPrinter, arg ΠΈ val Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Π° ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ T. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°:
ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π’ Π² ΠΊΠ»Π°ΡΡΠ΅ β ΠΌΠ΅ΡΠΎΠ΄ getValue():
Π’ΡΡ Π²ΡΠΎΠ΄Π΅ ΡΠΎΠΆΠ΅ Π²ΡΡ ΡΡΠ½ΠΎ β ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π·Π°Π΄Π°Π½ ΠΏΡΠΈ Π΅Π³ΠΎ (ΠΎΠ±ΡΠ΅ΠΊΡΠ°) ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ.
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΊΠ»Π°ΡΡΠΎΠ² ΠΌΡ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ ΠΎΠ΄Π½ΠΈΠΌ Π»ΠΈΡΡ ΡΠΈΠΏΠΎΠΌ (Π’) β ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ:
ΠΠ΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΈ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ:
ΠΠ»ΠΌΠ°Π·Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ (Diamond syntax)
ΠΠ΅ΡΠ½ΡΠΌΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Π·Π°Π΄ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠΎΠΉ ΠΊΠΎΠ΄Π°:
ΠΡΠ»ΠΈ ΡΠΈΠΏΡ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ:
Π’ΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π½ΠΈΠ²ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ ΡΠΈΠΏΡ ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΈΠ±ΠΈΡΡΡΡ. Π§ΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΆΠΈΠ·Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ Π² Java 7 Π±ΡΠ» Π²Π²Π΅Π΄ΡΠ½ Π°Π»ΠΌΠ°Π·Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ (diamond syntax), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΡΡΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΠΏΠ°. Π’.Π΅. ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠΈΠ΄ ΡΠΏΡΠΎΡΡΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ:
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ «<>» ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π°Π»ΠΌΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°
Π ΡΠ»ΡΡΠ°Π΅ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΊΠΎΠ΄Π° Π²ΡΡΠ΅ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Pair ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΡΠΈΠΏΠΎΠΌ ΠΈ Π±ΡΠ»ΠΈ Π·Π°Π±ΡΡΡ «<>» ΠΈΠ»ΠΈ ΡΠ²Π½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π΅Π³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (raw type) Ρ Pair ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΌ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΈΠΏΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π₯ΠΎΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π°, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅. ΠΠ΄Π΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π²ΠΎΡ ΡΡΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π²ΠΎΡ ΡΡΠΎΡ:
ΠΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ±Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Ρ, Π½ΠΎ Ρ Π½ΠΈΡ ΡΠ°Π·Π½Π°Ρ ΠΈΠ΄Π΅Ρ. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ ΠΌΠ΅ΡΡΠΎ Ρ ΠΏΡΠΎΡΡΡΠΌ ΡΠΈΠΏΠΎΠΌ, Π²ΠΎ Π²ΡΠΎΡΡΠΌ β Ρ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠΌ. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ»ΠΎΠΌΠ°Π΅ΠΌ ΡΡΠΎ Π΄Π΅Π»ΠΎ β Π·Π°ΠΌΠ΅Π½ΠΈΠΌ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ
ΠΠ»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΠΈΠ±ΠΊΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (java.lang.ClassCastException), Π° Π΄Π»Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ β ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π ΠΎΠ±ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° 2 ΡΠ°ΠΌΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°. ΠΡΠ»ΠΈ Π² Π΄Π²ΡΡ ΡΠ»ΠΎΠ²Π°Ρ , ΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΡΡΡΡ ΡΠΈΠΏΠΎΠ², Π²Ρ ΡΠ΅ΡΡΠ΅ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΏΠΎΠ², ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ΅ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠ°ΠΌΠΈ.
Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ (Generic methods)
ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ (Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ), ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ (Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΌΠ΅ΡΠΎΠ΄Ρ), ΡΠΎ Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΠΈΠΏΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π΅ Π½Π°Π΄ΠΎ ΠΏΡΡΠ°ΡΡ Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π² Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΊΠ»Π°ΡΡΠ΅. Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ΄ΠΎΠ±Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΡΠΈΠΏΠ°ΠΌ. (ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π² ΠΊΠ»Π°ΡΡΠ΅ java.util.Collections.)
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°:
ΠΠ°ΠΌ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΡΠΎ:
» » ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ² «public» ΠΈ «static», Π° Π·Π°ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈ Π΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. Π’Π°ΠΊΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΎΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², Π³Π΄Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ°. Π’Π΅Π»ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ β Π² ΡΠΈΠΊΠ»Π΅ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (val). ΠΡ ΠΈ Π² main()-ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ·ΠΎΠ² Π½Π°ΡΠ΅Π³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°:
Π‘ΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π·Π΄Π΅ΡΡ Π½Π΅ Π·Π°Π΄Π°Π½ ΡΠ²Π½ΠΎ ΡΠΈΠΏ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. ΠΠ»Ρ IntList β ΡΡΠΎ Integer ΠΈ 100 ΡΠΎΠΆΠ΅ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π² Integer. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΡΠ°Π²ΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΈΠΏΡ Π’ β Integer.
Π ΡΠ΅ΠΉΡΠ°Ρ Π²ΠΎΠΏΡΠΎΡ β ΠΊΠ°ΠΊΠ°Ρ (-ΠΈΠ΅) ΠΈΠ· Π½ΠΈΠΆΠ΅ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΡ ΡΡΡΠΎΠΊ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ?
ΠΡΠ²Π΅Ρ Ρ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ΠΌ:
ΠΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ, Ρ.ΠΊ. Π½Π΅Π»ΡΠ·Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° ArrayList ΠΈ ΡΡΡΠ»ΠΊΡ Π½Π° Π½Π΅Π³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π»Ρ ArrayList ΠΊΠ»Π°ΡΡΠ°. Π ΡΠ°ΠΌ, ΠΈ ΡΠ°ΠΌ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΡΠΈΠΏ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ β Π²ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
Π ΡΡΠ΅ΡΡΠ΅ΠΌ ΠΈ ΡΠ΅ΡΠ²ΡΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Ρ.ΠΊ. Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΡΠΈΠΏΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ (ΡΠ²ΡΠ·ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π·Π΄Π΅ΡΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ).
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΡΡΠΈ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΡΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 3. ΠΠΎΡΠ΅ΠΌΡ ΠΆΠ΅ ΡΡΠΎ Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ?
ΠΡΠ΄Π΅ΠΌ Π΄ΡΠΌΠ°ΡΡ ΠΎΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ β Π΄ΠΎΠΏΡΡΡΠΈΠΌ 3-ΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄:
Wildcards (ΠΠ°ΡΠΊΠΈ)
Π‘Π΅ΠΉΡΠ°Ρ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Wildcard Parameters (wildcards). ΠΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ Π² ΡΠ°Π·Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ: ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π³ΡΡΠΏΠΏΠΎΠ²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΌΠ°ΡΠΊΠΈ ΠΈ Ρ.Π΄. Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ «ΠΌΠ°ΡΠΊΡ», ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π² Π½Π΅ΠΉ ΠΌΠ΅Π½ΡΡΠ΅ Π±ΡΠΊΠ²β¦
ΠΠ°ΠΊ Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π²ΡΡΠ΅ Π²ΠΎΡ ΡΠ°ΠΊΠ°Ρ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠ΄Π° Π½Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ:
ΠΠΎ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡ ΠΎΠΆΠ΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
ΠΠΎΠ΄ ΠΌΠ°ΡΠΊΠΎΠΉ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π²ΠΎΡ ΡΡΡ ΡΡΡΠΊΡ β » «.
Π ΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ ΠΌΠ°ΡΠΊΡ ΠΈ ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
ΠΠ΅ΡΠΎΠ΄ printList ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π² ΡΠΈΠ³Π½Π°ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΌΠ°ΡΠΊΠ°:
Π ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΡΠΏΠΈΡΠΊΠΎΠ² Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ (Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Integer ΠΈ String).
ΠΠ΄Π½Π°ΠΊΠΎ Π²ΠΎΡ ΡΡΠΎ Π½Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ:
Π Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
Π’ΡΡ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅Ρ ΠΎΡΠΎΡΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ numList Ρ ΡΠ°Π½ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ. ΠΠΎΠΏΡΡΡΠΈΠΌ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΠΊ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Ρ ΡΠ°Π½ΠΈΠ»Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΈΡΠΊΠΈ ΡΠΈΡΠ΅Π». Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π΅ΡΡΡ:
ΠΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ, Π° Π²ΡΡ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΡΠΊΠΈ ΠΌΡ Π·Π°Π΄Π°Π»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ numList ΠΌΠΎΠΆΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΡΡΠ»ΠΊΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΏΠΈΡΠΎΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΡ Number, Π° Π²ΡΡ ΠΈΠ·-Π·Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ: List numList. Π’ΡΡ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΠ°ΡΠΊΠ΅ Π·Π°Π΄Π°ΡΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ β ΡΠ΅ΠΏΠ΅ΡΡ numList ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠΏΠΈΡΠΊΠ° Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΈΠΏΠΎΠ². Double ΠΊΠ°ΠΊ ΠΈ Integer Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡ Number, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ.
Π’ΠΎ, ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π²ΡΡΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΠΌΠ°ΡΠΊΠ°ΠΌΠΈ (Bounded wildcards). ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²Π΅ΡΡΠΌΠ° ΠΊΡΠ°ΡΠΈΠ²ΡΠΌ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ. ΠΠΎΠΏΡΡΡΠΈΠΌ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΡΡΠΌΠΌΡ ΡΠΈΡΠ΅Π» ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅:
Double-ΡΠΈΠΏ Π±ΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ result Ρ.ΠΊ. ΠΎΠ½ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ (Ρ.Π΅. Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠΎΠ²).
ΠΠ° ΡΡΠΎΠΌ Π²ΡΠ΅. ΠΠ°Π΄Π΅ΡΡΡ, Π΄Π°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ Π±ΡΠ»Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ.
ΠΡΠ»ΠΈ ΠΠ°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΡΡΠ°ΡΡΡ, ΠΏΡΠΎΠ³ΠΎΠ»ΠΎΡΡΠΉΡΠ΅ Π·Π° Π½Π΅Π΅
ΠΠΎΠ»ΠΎΡΠΎΠ²: 175 ΠΠΎΠ»ΠΎΡΠΎΠ²Π°ΡΡ
ΠΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ β ΡΡΠΎ ΡΡΠΎ?
β Π Π΅ΡΡ ΠΎΠ΄Π½Π° ΠΊΡΡΡΠ°Ρ ΡΠ΅ΠΌΠ°.
β ΠΠ΄Π½ΠΈ ΡΡΡΠΏΡΠΈΠ·Ρ. ΠΡΡΠΌΠΎ Π½Π΅ Π΄Π΅Π½Ρ, Π° Π΄Π΅Π½Ρ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ.
β Π‘Π΅Π³ΠΎΠ΄Π½Ρ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΡΠ΅Π±Π΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Generics. βΠΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈβ β ΡΡΠΎ ΡΠΈΠΏΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ. Π Java ΠΊΠ»Π°ΡΡΡ-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΈΠΏ ΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
β ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ generic-ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΎ ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΏ, Π° Π΄Π²Π°: ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½Π° Ρ ΡΠ΅Π±Ρ Ρ ΡΠ°Π½ΠΈΡ.
Π₯ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΎΠ³ΠΎ β ArrayList. ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ/ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° ArrayList, Π½Π°ΠΌ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π±ΡΠ΄ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°.
β ΠΠ²ΡΡΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΎ Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΏ.
β ΠΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π΅ΡΠ»ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ Π² ArrayList ΠΊΠ»Π°Π΄ΡΡΡΡ ΡΡΡΠΎΠΊΠΈ, Π° Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ, ΡΡΠΎ ΡΠ°ΠΌ Π±ΡΠ΄ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ»Π°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΏΠ°Π΄Π΅Ρ (Π·Π°ΠΊΡΠΎΠ΅ΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ).
β ΠΠΎΠΊΠ° ΡΡΠΎ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΊΠ»Π°ΡΡΡ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, Π½ΠΎ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΆΠΈΠ΅.
β Π Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠΏΠ°-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π»ΡΠ±ΠΎΠΉ ΠΊΠ»Π°ΡΡ, Π΄Π°ΠΆΠ΅ ΡΠΎΡ, ΡΡΠΎ Π½Π°ΠΏΠΈΡΡ Ρ?
β ΠΠ°, Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΏ, ΠΊΡΠΎΠΌΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ². ΠΡΠ΅ ΠΊΠ»Π°ΡΡΡ-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Ρ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° Object.
β Π’ΠΎ Π΅ΡΡΡ, Ρ Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ArrayList<int>?
β Π ΠΎΠ±ΡΠ΅ΠΌ-ΡΠΎ, Π΄Π°, Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΡ. ΠΠΎ Π΄Π»Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ·ΡΠΊΠ° Java Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΈΡ Π½Π΅ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈ β ΠΊΠ»Π°ΡΡΡ, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΡ Object. ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ:
ΠΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΉ ΡΠΈΠΏ | ΠΠ»Π°ΡΡ | Π‘ΠΏΠΈΡΠΎΠΊ |
---|---|---|
int | Integer | ArrayList Integer > |
double | Double | ArrayList Double > |
boolean | Boolean | ArrayList Boolean > |
char | Character | ArrayList Character > |
byte | Byte | ArrayList Byte > |
β ΠΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ ΠΈ ΠΈΡ ΠΊΠ»Π°ΡΡΡ-Π°Π½Π°Π»ΠΎΠ³ΠΈ (ΠΊΠ»Π°ΡΡΡ-ΠΎΠ±ΡΡΡΠΊΠΈ) ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ:
β ΠΡΠ»ΠΈΡΠ½ΠΎ. Π’ΠΎΠ³Π΄Π° Ρ Π΄ΡΠΌΠ°Ρ, Ρ Π±ΡΠ΄Ρ ΠΏΠΎΡΠ°ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ArrayList.
ΠΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ Π² Java Π΄Π»Ρ ΡΠ°ΠΌΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ : ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, Π³ΡΠ°Π½ΠΈΡΡ ΠΈ Π΄ΠΈΠΊΠΈΠ΅ ΠΊΠ°ΡΡΡ
Π Π°Π·Π±ΠΈΡΠ°Π΅ΠΌΡΡ, Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Ρ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡ Π² ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄.
ΠΠ»Ρ ΠΠΆΠ°ΠΊ Π΄Π»Ρ Skillbox Media
Π£ Π½Π°Ρ Π² ΠΏΠ°ΡΠ°Π΄Π½ΠΎΠΉ ΠΏΠΎΠ΄ΡΠ΅Π·Π΄Π΅ ΡΡΠ΄ΠΎΠΌ Ρ ΠΏΠΎΡΡΠΎΠ²ΡΠΌΠΈ ΡΡΠΈΠΊΠ°ΠΌΠΈ ΡΡΠΎΠΈΡ ΠΊΠΎΡΠΎΠ±ΠΊΠ°. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΎΡΡ, ΡΡΠΎ ΡΡΠ΄Π° Π±ΡΠ΄ΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ Π±ΡΠΌΠ°ΠΆΠ½ΡΠΉ ΡΠΏΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π²ΡΠ΅Π΄ΠΈΡΠ΅Π»ΠΈ ΡΠΏΠΎΡΠ½ΠΎ ΠΊΠ»Π°Π΄ΡΡ Π² ΡΡΠΈ ΡΠ°ΠΌΡΠ΅ ΡΡΠΈΠΊΠΈ. ΠΠΎ Π² ΠΊΠΎΡΠΎΠ±ΠΊΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π±ΡΠΌΠ°ΠΆΠΊΠ°ΠΌΠΈ Π»Π΅ΠΆΠ°Ρ ΠΏΡΡΡΡΠ΅ Π±ΡΡΡΠ»ΠΊΠΈ ΠΈ Π±Π°Π½ΠΊΠΈ, ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΠΏΠ°ΠΊΠ΅ΡΡ, Π° Π² Π½ΡΠ½Π΅ΡΠ½ΠΈΡ ΡΠ΅Π°Π»ΠΈΡΡ β Π΅ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΠΊΠΈ. ΠΠΎΡΠ΅ΠΌΡ Π»ΡΠ΄ΠΈ ΡΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΡΠΎΠ±ΠΊΠΈ Π²Ρ ΠΎΡΠ²ΠΎΠ·ΠΈΡΠ΅ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΡ, Π° ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΡΡ Π±ΡΠΌΠ°Π³Ρ ΠΎΡ ΠΏΡΠΎΡΠ΅Π³ΠΎ ΠΌΡΡΠΎΡΠ°. ΠΠ΅ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π²Ρ Π·Π°ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΡΡ ΠΊΠΎΡΠΎΠ±ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ Π΄Π°ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π² ΡΠ΅Π±Ρ ΡΡΠΎ-ΡΠΎ, ΠΊΡΠΎΠΌΠ΅ Π±ΡΠΌΠ°Π³ΠΈ? ΠΡΠ»ΠΈ Π²Π°Ρ ΠΎΡΠ²Π΅Ρ Β«Π΄Π°Β» β Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΡΡΡΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ (generics).
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
Π€ΡΠ»ΡΡΠ΅ΠΊ-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ. ΠΡΠ±ΠΈΠΌΡΠΉ ΡΡΠ΅ΠΊ: Java + Angular, Π½ΠΎ Π² Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π³ΠΎΡΠΎΠ²Π° ΠΏΠΈΡΠ°ΡΡ Ρ ΠΎΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΠ΄Π°.
ΠΠ½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠ°ΠΌΠΈ
ΠΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΌΠΎΠ³Π»ΠΈ Π½Π΅ΡΠ²Π½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ, ΡΡΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠ»Π°ΡΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΡΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°:
ΠΠ΄Π΅ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ printSomething ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΡΡΠΎΠΊ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ ΠΎΠ± ΡΡΠΎΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΡΠΈΠΊΠ»Π΅ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ (ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ) ΠΊ ΠΊΠ»Π°ΡΡΡ String, Π° ΠΏΠΎΡΠΎΠΌ Π΅ΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ length ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ.
ΠΠΎ ΡΠΌΠΎΡΡΠΈΡΠ΅, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π‘Π°ΡΠ° ΠΈ ΠΠ°ΡΠ°, β ΠΎΠ½ΠΈ ΠΏΠΎΠ»Π΅Π½ΠΈΠ»ΠΈΡΡ Π·Π°Π³Π»ΡΠ½ΡΡΡ Π²Π½ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ»ΠΈ Π² ΡΠΏΠΈΡΠΎΠΊ: ΠΎΠ΄ΠΈΠ½ β ΡΠΈΡΠ»ΠΎ, Π° Π²ΡΠΎΡΠ°Ρ β ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ StringBuilder.
ΠΠΎΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π°Π·Π½Π°ΡΠΈΠ» Π±Π°Π³ Π½Π΅ ΠΊΠΎΠΌΡ-ΡΠΎ ΠΈΠ· Π½ΠΈΡ , Π° ΠΠ°ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΏΠΈΡΠ°Π» ΠΌΠ΅ΡΠΎΠ΄ printSomething, β ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠ°ΡΠ° Π±ΡΡΡΡΠΎ Π½Π°ΡΡΠ» ΠΈΡΡΠΈΠ½Π½ΡΡ Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠΎΠ² ΠΈ ΠΏΠΎΠΏΡΠΎΡΠΈΠ» ΠΈΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ°. ΠΠΎ Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅ ΡΠ΅ΡΠΈΠ» ΠΏΠΎΠ΄ΡΡΡΠ°Ρ ΠΎΠ²Π°ΡΡΡΡ ΠΎΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π» ΠΌΠ΅ΡΠΎΠ΄ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ². ΠΠΎΡ ΡΠ°ΠΊ:
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ Π·Π°Ρ ΠΎΡΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π² ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΎΡΠΈΠ±ΠΊΠ° ΡΡΠ°Π½Π΅Ρ Π·Π°ΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ°Π·Ρ β Π΅ΡΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΠ°ΡΠΈΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° item Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π°ΡΠΈΠ»ΡΠ½ΠΎ ΠΊ ΡΠΈΠΏΡ String. ΠΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π² ΡΠΈΠΊΠ»Π΅ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ°, ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΎΠ³Π»Π°ΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π±ΡΠ΄Π΅Ρ ΡΡΡΠΎΠΊΠ°. ΠΠΎΠ΄ ΡΡΠ°Π» ΠΌΠ΅Π½Π΅Π΅ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ, ΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΡΡΠ°Π»ΠΎ ΠΏΡΠΎΡΠ΅.
ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΊΠ»Π°ΡΡΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌ ΡΡ ΡΠ°ΠΌΡΡ ΠΊΠΎΡΠΎΠ±ΠΊΡ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ»Π° ΡΠ΅ΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΠ°ΡΡΠΈ: ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠ»Π°ΡΡ Box, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠ΅Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ Π² ΡΡΠΎΠΉ ΠΊΠΎΡΠΎΠ±ΠΊΠ΅ ΠΏΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ:
Π ΠΊΠ»Π°ΡΡΠ΅ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π°:
ΠΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΡΠΎΠΌΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΊΠ»Π°ΡΡΠ°, ΡΠΈΠΌΠ²ΠΎΠ» T ΠΏΠΈΡΠ΅ΡΡΡ Π±Π΅Π· ΡΠ³Π»ΠΎΠ²ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ, ΠΎΠ½ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ°.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠΎΡΠΎΠ±ΠΊΡ Π΄Π»Ρ Π±ΡΠΌΠ°Π³ΠΈ. ΠΡΡΡΡ Π·Π° Π±ΡΠΌΠ°Π³Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΊΠ»Π°ΡΡ Paper, Π° Π·Π½Π°ΡΠΈΡ, ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
ΠΡΠΎ ΠΏΠΎΠ»Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π·Π°ΠΏΠΈΡΠΈ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΊΠΎΡΠΎΡΠ΅:
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ»Π΅Π²Π° ΠΌΡ ΡΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΡΠΎ Π½ΡΠΆΠ½Π° ΠΊΠΎΡΠΎΠ±ΠΊΠ° ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ Π±ΡΠΌΠ°Π³ΠΈ, ΡΠΏΡΠ°Π²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΡΡΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ Paper β ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Β«Π΄ΠΎΠ³Π°Π΄Π°Π΅ΡΡΡΒ» ΠΎ Π½ΡΠΌ ΡΠ°ΠΌ.
ΠΡΠΎ Β«ΡΠ³Π°Π΄ΡΠ²Π°Π½ΠΈΠ΅Β» Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ type inference β Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ°, Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β« <>Β» β ΡΡΠΎ diamond operator. ΠΠ³ΠΎ ΡΠ°ΠΊ Π½Π°Π·Π²Π°Π»ΠΈ ΠΈΠ·-Π·Π° Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΡ ΠΎΠ΄ΡΡΠ²Π° Ρ Π±ΡΠΈΠ»Π»ΠΈΠ°Π½ΡΠΎΠΌ.
E β element, Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ;
K β key, Π΄Π»Ρ ΠΊΠ»ΡΡΠ΅ΠΉ map-ΡΡΡΡΠΊΡΡΡ;
V β value, Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ map-ΡΡΡΡΠΊΡΡΡ;
N β number, Π΄Π»Ρ ΡΠΈΡΠ΅Π»;
T β type, Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ ;
S, U, V ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅ β ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π² Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΊΠ»Π°ΡΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΊΠ»Π°ΡΡΡ Ρ ΠΎΡΠΎΡΠΈ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΡΡΡΡ: Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ Box ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΡΠΎΠ±ΠΊΡ Π΄Π»Ρ Π±ΡΠΌΠ°Π³ΠΈ, Π½ΠΎ ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΠ±ΠΊΠΈ Π΄Π»Ρ ΡΠ±ΠΎΡΠ° ΠΏΠ»Π°ΡΡΠΈΠΊΠ° ΠΈΠ»ΠΈ ΡΡΠ΅ΠΊΠ»Π°:
Π ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΡΠΈ Π΅ΡΡ Π΄Π°Π»ΡΡΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΊΠ»Π°ΡΡ Ρ Π΄Π²ΡΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΊΠΎΡΠΎΠ±ΠΊΠΈ Ρ Π΄Π²ΡΠΌΡ ΠΎΡΡΠ΅ΠΊΠ°ΠΌΠΈ. ΠΠΎΡ ΡΠ°ΠΊ:
Π’Π΅ΠΏΠ΅ΡΡ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΡΠΎΠ±ΠΊΡ, Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΡΡΠ΅ΠΊΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΠΏΠ»Π°ΡΡΠΈΠΊ, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ β ΡΡΠ΅ΠΊΠ»ΠΎ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ type inference ΠΈ diamond operator ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΠΌ ΠΎΠΏΡΡΡΠΈΡΡ ΠΎΠ±Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ.
ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ- ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΊΠ»Π°ΡΡΠΎΠ². ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠ½ΠΊΡΠ° ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΈ GarbageHandler ΡΡΠ°Π·Ρ Ρ Π΄Π²ΡΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ: ΡΠΈΠΏ ΠΌΡΡΠΎΡΠ° ΠΈ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΈ:
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ (ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΡ) ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ, Π½Π΅ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ- ΠΊΠ»Π°ΡΡΠ΅:
ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΡΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΡΡΠΌ ΠΈ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΊΠ»Π°ΡΡ Ρ Π΄Π²ΡΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ:
ΠΠ»ΠΈ ΡΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΊΠ»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ:
ΠΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΊΠ»Π°ΡΡΡ ΠΈ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΡΠΈΠΏΠ°ΠΌΠΈ.
ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΡΠΈΠΏΠΎΠ² Β«Π±Π΅Π· ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈΒ», ΡΠΎ Π΅ΡΡΡ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠΈΡ Π²Π°ΠΌ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° Box β ΠΏΡΠΎΡΡΠΎ Box:
ΠΠ»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ Π΄Π°ΠΆΠ΅ Π΅ΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½ β raw type, ΡΠΎ Π΅ΡΡΡ Β«ΡΡΡΠΎΠΉ ΡΠΈΠΏΒ». ΠΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ Π² ΡΠ·ΡΠΊΠ΅ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΡΠΎ ΡΡΠ°ΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ Π΄ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ².
Π Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΡΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ. ΠΠ° ΠΈ Π·Π°ΡΠ΅ΠΌ? ΠΠ΅Π΄Ρ ΠΏΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΡΠΏΠΎΡΠΎΠ±Π΅ ΡΠ΅ΡΡΡΡΡΡ Π²ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ².
ΠΠΈΡΠ΅ΠΌ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΌΠ΅ΡΠΎΠ΄Ρ
Π ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Π²ΡΡΠ΅ ΠΌΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π² Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΊΠ»Π°ΡΡΠ°Ρ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ . Π’ΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°, ΡΠ°ΠΊ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ ΡΠΈΠΏ.
ΠΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π² ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠ½ΠΊΡΠ° ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΈ Π΅ΡΡΡ Π΅ΡΡ ΠΎΠΏΡΠΈΡ: ΡΠ±ΠΎΡ ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΎΡΡ ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ Π²ΡΠ²ΠΎΠ·ΡΡ Π½Π° ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ Π² Π΄ΡΡΠ³ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ. ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ:
Π£ ΠΌΠ΅ΡΠΎΠ΄Π° transfer Π΅ΡΡΡ ΡΠ²ΠΎΠΉ Π»ΠΈΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π΄Π»Ρ ΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Π½ΠΈ Ρ ΡΠΈΠΏΠΎΠΌ T, Π½ΠΈ Ρ ΡΠΈΠΏΠΎΠΌ S. ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΏΠΈΡΠ΅ΡΡΡ Π² ΡΠ³Π»ΠΎΠ²ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ .
ΠΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΈ Π² ΠΎΠ±ΡΡΠ½ΡΡ (Π½Π΅ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ) ΠΊΠ»Π°ΡΡΠ°Ρ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ . ΠΠ°Ρ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠΎΠ³ Π±ΡΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΠ΄Π΅ΡΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΠΏΠΎΠ² ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Π΄ΠΎΡΡΡΠΏΠ° ( public), Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ ΡΠΈΠΏΠΎΠΌ ( void). ΠΠ½ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ Π² ΠΎΠ±ΡΠΈΡ ΡΠ³Π»ΠΎΠ²ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ .
ΠΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΠΌ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ ΡΠ²Π΅ΡΡ Ρ ΠΈ ΡΠ½ΠΈΠ·Ρ
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠΈΠΌ Π½Π°ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΠΌΡΡΠΎΡΠ΅ ΠΈ Π²Π²Π΅Π΄ΡΠΌ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ β ΠΌΠ°ΡΡΡ Β«ΡΠΈΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΡΒ», ΡΠΎ Π΅ΡΡΡ ΠΌΠ°ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΈΠΊΠΎΠ²ΠΎΠΉ Π±ΡΡΡΠ»ΠΊΠΈ ΠΈΠ»ΠΈ Π»ΠΈΡΡΠΊΠ° Π±ΡΠΌΠ°Π³ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΌΠ°ΡΡΡ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Box:
Π ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ: ΠΌΡ Π½Π΅ ΡΠ°ΡΡΠΊΠ°Π·Π°Π»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΡΠΎ T β ΡΡΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π²ΠΈΠ΄ ΠΌΡΡΠΎΡΠ°. ΠΡΠΏΡΠ°Π²ΠΈΠΌ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ upper bounding β ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΡ Ρ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄ getItemWeight ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ.
ΠΠ΄Π΅ΡΡ T extends Garbage ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ T ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ Garbage ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ ΠΊΠ»Π°ΡΡ-Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ Garbage. ΠΠ· ΡΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π½Π°ΠΌ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Paper ΠΈΠ»ΠΈ Plastic. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈ Ρ Garbage, ΠΈ Ρ Π²ΡΠ΅Ρ Π΅Π³ΠΎ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠ² Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ getWeight, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΊΠ»Π°ΡΡΠ° Box.
ΠΠ»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ. ΠΡΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΏΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΏΡΠ½ΠΊΡΠ° ΠΏΡΠΈΡΠΌΠ° ΠΌΡΡΠΎΡΠ° ΠΈ Π²Π²Π΅Π΄ΡΠΌ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΈ β HandleMethod. Π’ΠΎΠ³Π΄Π° GarbageHandler ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊ:
Wildcards
Π’Π΅ΡΠΌΠΈΠ½ wildcard ΠΏΡΠΈΡΡΠ» Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· ΠΊΠ°ΡΡΠΎΡΠ½ΠΎΠΉ ΠΈΠ³ΡΡ. Π ΠΏΠΎΠΊΠ΅ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΊΠ°ΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ³ΡΠ°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ. ΠΠΆΠΎΠΊΠ΅Ρ β ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠΉ Β«Π΄ΠΈΠΊΠΎΠΉ ΠΊΠ°ΡΡΡΒ».
Wildcard Π½Π΅Π»ΡΠ·Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΠΈΡΠ°Π»ΠΈ Π±ΡΠΊΠ²Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΊΠ»Π°ΡΡ Box ΠΈΠ»ΠΈ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ:
Wildcards ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈΠ· Java Collection Framework β Π·Π΄Π΅ΡΡ ΡΠΎΠ±ΡΠ°Π½Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Java Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π½ΠΈΠΌΠΈ, ΠΎΡΠ²Π΅ΠΆΠΈΡΠ΅ Π·Π½Π°Π½ΠΈΡ, ΠΏΡΠΎΡΠΈΡΠ°Π² ΡΡΡ ΡΡΠ°ΡΡΡ.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ Π²ΠΌΠ΅ΡΡΠΎ Β«?Β» Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΏ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Paper, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΡΠΎΠΊΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ:
Wildcards ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΏΠΎΠ²:
ΠΡΠΎ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ΅ Π½Π°ΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΡ Ρ, upper bounding, β Π²ΠΌΠ΅ΡΡΠΎ Β«?Β» Π΄ΠΎΠΏΡΡΡ ΠΈΠΌ Garbage ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡ-Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ, ΡΠΎ Π΅ΡΡΡ Paper ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ.
ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠΈΠΏ ΠΈ ΡΠ½ΠΈΠ·Ρ. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ lower bounding ΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π‘ΠΎΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΠΎΠ½ΡΡΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠ°ΠΌΠΈ
ΠΡ Π½Π΅ ΡΡΠΏΠ΅Π»ΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ Π²Π΅ΡΠ°ΠΌΠΈ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π·Π°ΠΌΠ΅Π½Π°ΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠΎΠ² Π² ΠΊΠ»Π°ΡΡΠ°Ρ -Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°Ρ , Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π½Π΅ ΡΠ·Π½Π°Π»ΠΈ ΠΎΠ± ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Ρ wildcards.
ΠΠ±ΠΎ Π²ΡΡΠΌ ΡΡΠΎΠΌ ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ β Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΡΡΡΡ . Π ΠΏΠΎΠΊΠ° ΡΠΎΠ±Π΅ΡΡΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ»ΠΎΠ²Π°ΡΠΈΠΊ ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ², β ΠΎΠ½ΠΈ ΠΏΡΠΈΠ³ΠΎΠ΄ΡΡΡΡ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ:
Π’Π΅ΡΠΌΠΈΠ½ | Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° |
---|---|
ΠΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΡΠΈΠΏΡ (generic types) | ΠΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΊΠ»Π°ΡΡ ΠΈΠ»ΠΈ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ |
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΈΠΏ (parameterized types) | ΠΡΠ·ΠΎΠ² Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΡΠΈΠΏΠ°. ΠΠ»Ρ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΡΠΈΠΏΠ° List ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ Π±ΡΠ΄Π΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, List |
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° (type parameter) | ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΡΠΈΠΏΠΎΠ². ΠΠ»Ρ Box T β ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° |
ΠΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΈΠΏΠ° (type argument) | Π’ΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΈΠΏΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Box Paper β ΡΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΈΠΏΠ° |
Wildcard | ΠΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ Β«?Β» β Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΠΈΠΏ |
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ wildcard (bounded wildcard) | Wildcard, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΡΠ²Π΅ΡΡ Ρ β ΠΈΠ»ΠΈ ΡΠ½ΠΈΠ·Ρ β |
Π‘ΡΡΠΎΠΉ ΡΠΈΠΏ (raw type) | ΠΠΌΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊ-ΡΠΈΠΏΠ° Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ°. ΠΠ»Ρ List ΡΡΡΠΎΠΉ ΡΠΈΠΏ β ΡΡΠΎ List |
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠ°Ρ , ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ ΡΠ·ΡΠΊΠ° Java ΡΠ·Π½Π°ΠΉΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΠΊΡΡΡΠ΅ Β«ΠΡΠΎΡΠ΅ΡΡΠΈΡ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΒ». ΠΠ°ΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΡΠΎΠΈΡΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΡ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΡΠ»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Ρ
ΡΠ°Π½ΡΡ Π°Π΄ΡΠ΅Ρ ΡΡΠ΅ΠΉΠΊΠΈ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π»Π΅ΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
Π ΡΡΠΎΠΌ ΠΈΡ
ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ
ΡΠΈΠΏΠΎΠ², ΠΊΠΎΠ³Π΄Π° Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ
ΡΠ°Π½ΠΈΡΡΡ ΡΠ°ΠΌΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠ΅ ΡΡΡΠ»ΠΎΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π² Java Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡ ΡΠΈΠΏΠ° Object.