Generics
It allows a type or method to operate on objects of various types while providing compile-time type safety. It adds compile-time type safety to the Collections Framework and eliminates the drudgery of casting.
Enhanced for Loop
This new language construct eliminates the drudgery and error-proneness of iterators and index variables when iterating over collections and arrays.
Autoboxing / Unboxing
This facility eliminates the drudgery of manual conversion between primitive types (such as int) and wrapper types (such as Integer).
Typesafe Enums
This flexible object-oriented enumerated type facility allows you to create enumerated types with arbitrary methods and fields.
It provides all the benefits of the Typesafe Enum pattern ("Effective Java," Item 21) without the verbosity and the error-proneness.
Variable arguments
This facility eliminates the need for manually boxing up argument lists into an array when invoking methods that accept variable-length argument lists.
Static Import
This facility lets you avoid qualifying static members with class names without the short comings of the Constant Interface antipattern.
Metadata / Annotations
This language feature lets you avoid writing boilerplate code under many circumstances by enabling tools to generate it from annotations in the source code.
This leads to a "declarative" programming style where the programmer says what should be done and tools emit the code to do it.
Also it eliminates the need for maintaining "side files" that must be kept up to date with changes in source files.
Instead the information can be maintained in the source file.
Scanner
The java.util.Scanner class can be used to convert text into primitives or Strings.
Since it is based on the java.util.regex package, it also offers a way to conduct regular expression based searches on streams, file data, strings, or implementors of the Readable interface.
Concurrency Utilities
The java.util.concurrent, java.util.concurrent.atomic and java.util.concurrent.locks packages provide a powerful, extensible framework of high-performance, scalable, thread-safe building blocks for developing concurrent classes and applications, including thread pools, thread-safe collections, semaphores, a task scheduling framework,task synchronization utilities, atomic variables, and locks.
Some other features of Java 5
- JDBC rowsets
- Formatted Output using The printf Method
- Formatted Input
- JVM Improvements
- RMI compiler-rmic
- Class-data sharing
- Monitoring
- JVM Profiling API (JVMTI)
- Improved diagnostic capability
- Desktop Client
- Core XML support
- Supplementary character support
No comments:
Post a Comment
Note: only a member of this blog may post a comment.