Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
funkčnosť všeobecný typ umožňuje programátorovi voliteľne definovať typ hodnôt , ktoré sú uložené vo vstavanej kolekcie tried , ako sú HashMap a ArrayList . To nahrádza 1.4 kód :
ArrayList dáta = new ArrayList ( ) ;
data.add ( nový Dvojlôžková ( 4,0 ) ) ;
Double hodnota = ( Dvojlôžková izba ) údaje . get ( 0 ) ;
S 1.5 kód :
ArrayList data.add ( nový Dvojlôžková ( 4.0 ) ; Double hodnota = data.get ( 0 ) ; . vyhlásenie ArrayList stáva trochu nepraktický , ale programátori môžu spoznať výhody kompilátor teraz spracováva casting dát a chyba obsadenie potenciálne crash - pôsobiť v treťom riadku kódu 1.4 je zachytený v čase kompilácie . Jeden z drobných nepríjemností bol odstránený z pracovnej s kolekciami objektov , rovnako . Väčšinu času , bude surové číselné dáta budú uložené v primitívnych , non - objektové dátové typy ako int a double . Avšak, len ich objektov , triedy založené na ekvivalenty môžu byť uložené v zbierke . vo 1,4 , programátor musel ručne vytvoriť nový objekt zakaždým , keď on alebo ona chcela uložiť číslo do zbierky , a hodil ju späť na primitívne dátový typ , keď to bolo vytiahol . Autoboxing umožňuje Java zvládnuť to automaticky , takže kód : data.add ( nový Dvojlôžková ( 4,0 ) ) ; Môže sa nahrádza takto : data.add ( 4.0 ) ; Java sa postará o konverziu z " double " na " double " automaticky . Pri ukladaní dát v poli alebo na ktorúkoľvek z dát zberu štruktúr , programátor môže skrátiť tradičné pre sláčiky od známej : for ( int x = 0 ; x < data.size ( ) ; x + + ) { //niečo urobiť s každá dvojná v " dáta " } viac kompaktný a ľahko čítať klipart ( Double D : data ) { //Do niečo , čo sa každý double v " dáta " } Java 1.5 pridal " enum " typ na jazyk . Tradične , ak programátor chcel udržať prehľad o všetkých možných hodnôt voľba , on alebo ona musela máp slov na celé čísla pomocou " finále static int " dátový typ , napríklad takto : public class Stoplight { int color = 0 ; konečnej static int červená = 0 ; konečnej static int žltá = 1 ; konečnej static int zelená = 2 ; } To bolo únavné a chyba náchylné napríklad , čo sa stane , keď sa farba stáva enum je riešenie oveľa viac elegantný " 4 ? " : Stoplight Farba = Stoplight.RED ; public enum Stoplight { červená , žltá , zelená } ; Na rozdiel od starých " konečnej statické " spôsobom , kompilátor teraz vie , čo platné voľby sú pre " semafor " a môže vynútiť je pre nás . ako bonus , ak je hodnota " Color " je vytlačená na konzole , to bude tlačiť ako anglické slovo , a nie ako čísla .
Autoboxing
Enhanced Pre Loop
Vymenované typy
.