( ) ; data.add
(nieuw dubbel ( 4.0 ) ;
Dubbele waarde
= data.get ( 0 ) ;
de verklaring van de ArrayList wordt iets meer onhandig , maar programmeurs kunnen de voordelen herkennen de compiler behandelt nu de data casting en . de potentieel crash - veroorzakende cast fout in de derde regel van de 1.4 -code wordt betrapt tijdens het compileren .
autoboxing
Een van de kleine overlast is verwijderd uit werken met de collecties voorwerpen ook. de meeste van de tijd , zal ruwe numerieke gegevens worden opgeslagen in primitieve , niet- object data types zoals int en double . echter alleen hun doel , class - based equivalenten kunnen worden opgeslagen in een collectie. in 1.4 , de programmeur moest een nieuw object elke keer als hij of zij wilde een nummer op te slaan in een verzameling handmatig maken , en wierp het terug naar een primitief datatype toen het werd uitgetrokken . autoboxing maakt Java om dit automatisch te verwerken , zodat de code :
data.add
(nieuw dubbel ( 4.0 ) ) ;
Kan nu worden vervangen door :
data.add
( 4.0 ) ;
Java
zal de conversie van " dubbel" aan " Double" automatisch .
Enhanced voor Loop
verwerken bij het opslaan van gegevens in een array of een van de dataverzameling structuren , kan de programmeur verkorten de traditionele voor -lus van de bekende :
voor ( int x = 0 ; x < data.size ( ) ; x + + ) {
//iets met elke dubbele in " data "
}
Om de compactere en gemakkelijk te lezen :
voor ( dubbele d : data ) {
//do iets met elkaar dubbel in " data "
}
Enumerated Soorten
Java
1.5 de " enum "-type toegevoegd aan de taal . Traditioneel, als een programmeur wilde houden van alle mogelijke waarden van een optie te houden , hij of zij moest in kaart woorden tot gehele getallen met behulp van de " final static int " datatype , zoals zo :
public class Stoplicht
{
int color = 0 ;
laatste static int ROOD = 0
;
laatste static int GEEL = 1
;
laatste static int GROEN
= 2 ;
}
Dit was vervelend en bug - gevoelig bijvoorbeeld , wat gebeurt er als kleur wordt Enum maakt de oplossing veel meer elegant . " 4 ? ' :
Stoplicht kleur
= Stoplight.RED ;
openbare enum Stoplicht
{
ROOD , GEEL , GROEN
} ;
tegenstelling tot de oude " uiteindelijke statische " manier , de compiler nu weet wat geldige opties zijn voor " Stoplicht " en kan hen dwingen voor ons . als een toegevoegde bonus , indien de waarde van de " Color " is gedrukt op de console , zal het drukken als het Engels woord , en niet als een nummer .
< br >