( ) ;
data.add ( ny Dubbel ( 4.0 ) ;
Dubbel värde = data.get ( 0 ) ;
förklaring av ArrayList blir något mer otymplig , men programmerare kan inse fördelarna kompilatorn nu hanterar uppgifterna gjutningen och . det potentiellt krasch - orsaka gjuten fel i den tredje raden i 1,4 -koden fångas vid kompileringen .
autoboxing
En av de små olägenheter har tagits bort från att arbeta med samlingar objekten liksom . Merparten av tiden , kommer rå numeriska data lagras i primitiva , icke-objekt datatyper som int och double . Men bara deras syfte , kan klass - baserade motsvarigheter lagrad vara i en samling . under 1,4 , programmeraren tvungen att manuellt skapa ett nytt objekt varje gång han eller hon ville lagra ett nummer i en samling , och kastade det tillbaka till en primitiv datatyp när den drogs ut . autoboxing tillåter Java för att hantera detta automatiskt , så koden :
data.add ( ny Dubbel ( 4,0 ) ) ;
kan nu ersättas med :
data.add ( 4,0 ) ,
Java kommer att hantera omvandlingen från " dubbel " till " Double " automatiskt .
Enhanced för Loop
När du lagrar data i en array eller något av samlingarna strukturer , kan programmeraren förkorta traditionella for-slingan från det välbekanta :
for (int x = 0 , x < data.size ( ) ; x + + ) {
//gör något med varje dubbel i " uppgifter "
}
till mer kompakt och lättläst :
för ( Double D : data) {
//gör något med varje dubbel i " uppgifter "
}
uppräkningstyper
Java 1.5 tillade " enum " typ till språket . Traditionellt , om en programmerare ville hålla reda på alla möjliga värden för ett alternativ , hade han eller hon att mappa ord till heltal med hjälp av " final static int " datatypen , så här:
public class Trafikljus {
int color = 0 ;
final static int RÖD = 0 ;
final static int GUL = 1 ;
final static int GRÖN = 2 ;
}
Detta var tråkiga och bugg - benägen till exempel , vad händer om färgen blir Enum gör lösningen betydligt mer elegant . " 4 ? " :
Stoplight color = Stoplight.RED ;
offentliga enum Stoplight {
RÖD , GUL , GRÖN
};
skillnad från gamla " final static " sätt , vet kompilatorn nu vad giltiga alternativen är för " Stoplight " och kan tillämpa dem för oss . som en extra bonus , om värdet av " Color " skrivs till konsolen , kommer det ut som det engelska ordet , och inte som en siffra .
Addera