Java 5 New Features: Generics Enhanced Loop Autoboxing/unboxing Typesafe Enums Other
Java 5 New Features: Generics Enhanced Loop Autoboxing/unboxing Typesafe Enums Other
ÿ Generics
ÿ Enhanced for loop
ÿ Autoboxing/unboxing
ÿ Typesafe enums
ÿ Other
Varargs
Static Import
Metadata
New classes and methods
VM Enhancements
// old syntax
Integer sumInteger(List list) {
int sum = 0;
Iterator iter = list.iterator();
while (iter.hasNext()) {
Integer iobj = (Integer) iter.next();
sum += iobj.intValue();
}
}
return new Integer(sum);
// new syntax
Integer sumIntegers(List<Integer> list) {
int sum = 0;
for (int x: list) sum+= x; // auto-unboxing
elements
return sum; // autobox return value
}
CompSci 100E 40.7
New Features: Limitations
ÿ Generics are not everywhere, yet
consider list.toArray() returning Object[]
ÿ For loop doesn't give you a good way to loop over multiple
collections in parallel:
still must do:
int[] arr1, arr2;
for (int i; i < arr1.length; i++) {
int x = arr1[i] + arr2[i];
}