SlideShare una empresa de Scribd logo
1 de 35
Shashank Raj H, 10-Sept-2010 Java 5 features
Topics Generics Enhanced for Loop Autoboxing/Unboxing Typesafe Enums Varargs Static Import Metadata (Annotations)
Generics List myIntList = new LinkedList(); // 1 myIntList.add(new Integer(0)); // 2 Integer x = (Integer) myIntList.iterator().next(); // 3 The idea behind generics is to enable the programmer to express his intention List<Integer> myIntList = new LinkedList<Integer>(); // 1 myIntList.add(new Integer(0)); //2 Integer x = myIntList.iterator().next(); // 3 – No cast required Compiler can check the type correctness at compile time. Improved  readability  and  robustness. Introduction Cluttered Runtime error
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Generics Defining Simple Generics
[object Object],[object Object],[object Object],[object Object],Generics Generics and sub typing
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Generics Wildcards Object is not the supertype for all kinds of collections. Collection of unknown
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Generics Bounded Wildcards Shape Circle Rectangle
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Generics Generic methods
Topics Generics Enhanced for Loop Autoboxing/Unboxing Typesafe Enums Varargs Static Import Metadata (Annotations)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Enhanced for loop Introduction
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Enhanced for loop Collections with enhanced for loop
[object Object],[object Object],[object Object],[object Object],Enhanced for loop Overview
Topics Generics Enhanced for Loop Autoboxing/Unboxing Typesafe Enums Varargs Static Import Metadata (Annotations)
[object Object],[object Object],[object Object],Autoboxing / Unboxing Purpose
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Autoboxing / Unboxing Introduction
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Autoboxing / Unboxing Example
Topics Generics Enhanced for Loop Autoboxing/Unboxing Typesafe Enums Varargs Static Import Metadata (Annotations)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Typesafe enums Previous approach
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Typesafe enums Example Java.lang.Enum Color
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Typesafe enums Example Data members Constructors Methods
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Typesafe enums Example
Topics Generics Enhanced for Loop Autoboxing/Unboxing Typesafe Enums Varargs Static Import Metadata (Annotations)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Variable arguments Example
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Variable arguments Examples
Topics Generics Enhanced for Loop Autoboxing/Unboxing Typesafe Enums Varargs Static Import Metadata (Annotations)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Static import Example
Topics Generics Enhanced for Loop Autoboxing/Unboxing Typesafe Enums Varargs Static Import Metadata (Annotations)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Metadata (Annotations) Introduction
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Metadata (Annotations) Example
[object Object],Metadata (Annotations) Retention policy @Retention ( RetentionPolicy.  ) SOURCE CLASS RUNTIME Discarded by compiler Stored in class file. Discarded by JVM.  Stored in class file. Utilized by JVM.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Metadata (Annotations) Using reflection and default values
Metadata (Annotations) Categories Annotations Normal  annotations Single member  annotation Marker annotations
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Metadata (Annotations) Categories
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Metadata (Annotations) Pre built annotations Meta Annotations
Thank You !!

Más contenido relacionado

La actualidad más candente

Exception Handling1
Exception Handling1Exception Handling1
Exception Handling1
guest739536
 
Programming with Java: the Basics
Programming with Java: the BasicsProgramming with Java: the Basics
Programming with Java: the Basics
Jussi Pohjolainen
 

La actualidad más candente (19)

Javaz. Functional design in Java 8.
Javaz. Functional design in Java 8.Javaz. Functional design in Java 8.
Javaz. Functional design in Java 8.
 
Java New Programming Features
Java New Programming FeaturesJava New Programming Features
Java New Programming Features
 
Exception Handling1
Exception Handling1Exception Handling1
Exception Handling1
 
Effective Java - Enum and Annotations
Effective Java - Enum and AnnotationsEffective Java - Enum and Annotations
Effective Java - Enum and Annotations
 
02basics
02basics02basics
02basics
 
Java Generics for Dummies
Java Generics for DummiesJava Generics for Dummies
Java Generics for Dummies
 
Smart Pointers in C++
Smart Pointers in C++Smart Pointers in C++
Smart Pointers in C++
 
Programming with Java: the Basics
Programming with Java: the BasicsProgramming with Java: the Basics
Programming with Java: the Basics
 
[C++] The Curiously Recurring Template Pattern: Static Polymorphsim and Expre...
[C++] The Curiously Recurring Template Pattern: Static Polymorphsim and Expre...[C++] The Curiously Recurring Template Pattern: Static Polymorphsim and Expre...
[C++] The Curiously Recurring Template Pattern: Static Polymorphsim and Expre...
 
Lazy java
Lazy javaLazy java
Lazy java
 
Java Tut1
Java Tut1Java Tut1
Java Tut1
 
Smart pointers
Smart pointersSmart pointers
Smart pointers
 
Oop2010 Scala Presentation Stal
Oop2010 Scala Presentation StalOop2010 Scala Presentation Stal
Oop2010 Scala Presentation Stal
 
Qcon2011 functions rockpresentation_scala
Qcon2011 functions rockpresentation_scalaQcon2011 functions rockpresentation_scala
Qcon2011 functions rockpresentation_scala
 
Java Generics - by Example
Java Generics - by ExampleJava Generics - by Example
Java Generics - by Example
 
C++11: Rvalue References, Move Semantics, Perfect Forwarding
C++11: Rvalue References, Move Semantics, Perfect ForwardingC++11: Rvalue References, Move Semantics, Perfect Forwarding
C++11: Rvalue References, Move Semantics, Perfect Forwarding
 
Oop2011 actor presentation_stal
Oop2011 actor presentation_stalOop2011 actor presentation_stal
Oop2011 actor presentation_stal
 
JAVA Tutorial- Do's and Don'ts of Java programming
JAVA Tutorial- Do's and Don'ts of Java programmingJAVA Tutorial- Do's and Don'ts of Java programming
JAVA Tutorial- Do's and Don'ts of Java programming
 
Java tut1 Coderdojo Cahersiveen
Java tut1 Coderdojo CahersiveenJava tut1 Coderdojo Cahersiveen
Java tut1 Coderdojo Cahersiveen
 

Similar a Java 5 Features

Java fundamentals
Java fundamentalsJava fundamentals
Java fundamentals
HCMUTE
 
New features and enhancement
New features and enhancementNew features and enhancement
New features and enhancement
Rakesh Madugula
 
About java
About javaAbout java
About java
Jay Xu
 
--------------- FloatArrays-java - ckage csi213-lab05-import java-u.pdf
--------------- FloatArrays-java -    ckage csi213-lab05-import java-u.pdf--------------- FloatArrays-java -    ckage csi213-lab05-import java-u.pdf
--------------- FloatArrays-java - ckage csi213-lab05-import java-u.pdf
AdrianEBJKingr
 
Unit 4
Unit 4Unit 4
Unit 4
siddr
 

Similar a Java 5 Features (20)

Java 5 New Feature
Java 5 New FeatureJava 5 New Feature
Java 5 New Feature
 
Generic Types in Java (for ArtClub @ArtBrains Software)
Generic Types in Java (for ArtClub @ArtBrains Software)Generic Types in Java (for ArtClub @ArtBrains Software)
Generic Types in Java (for ArtClub @ArtBrains Software)
 
Java fundamentals
Java fundamentalsJava fundamentals
Java fundamentals
 
documents.pub_new-features-in-java-8-it-jpoialjavanaitedwien15java8pdf-java-8...
documents.pub_new-features-in-java-8-it-jpoialjavanaitedwien15java8pdf-java-8...documents.pub_new-features-in-java-8-it-jpoialjavanaitedwien15java8pdf-java-8...
documents.pub_new-features-in-java-8-it-jpoialjavanaitedwien15java8pdf-java-8...
 
Wien15 java8
Wien15 java8Wien15 java8
Wien15 java8
 
New features and enhancement
New features and enhancementNew features and enhancement
New features and enhancement
 
Core java concepts
Core java  conceptsCore java  concepts
Core java concepts
 
Operator overloading
Operator overloading Operator overloading
Operator overloading
 
final year project center in Coimbatore
final year project center in Coimbatorefinal year project center in Coimbatore
final year project center in Coimbatore
 
Java q ref 2018
Java q ref 2018Java q ref 2018
Java q ref 2018
 
About java
About javaAbout java
About java
 
JAVA Tutorial- Do's and Don'ts of Java programming
JAVA Tutorial- Do's and Don'ts of Java programmingJAVA Tutorial- Do's and Don'ts of Java programming
JAVA Tutorial- Do's and Don'ts of Java programming
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Scala - core features
Scala - core featuresScala - core features
Scala - core features
 
--------------- FloatArrays-java - ckage csi213-lab05-import java-u.pdf
--------------- FloatArrays-java -    ckage csi213-lab05-import java-u.pdf--------------- FloatArrays-java -    ckage csi213-lab05-import java-u.pdf
--------------- FloatArrays-java - ckage csi213-lab05-import java-u.pdf
 
The Art of Java Type Patterns
The Art of Java Type PatternsThe Art of Java Type Patterns
The Art of Java Type Patterns
 
Learning Java 1 – Introduction
Learning Java 1 – IntroductionLearning Java 1 – Introduction
Learning Java 1 – Introduction
 
Java Concepts
Java ConceptsJava Concepts
Java Concepts
 
Unit 4
Unit 4Unit 4
Unit 4
 
C++11 - STL Additions
C++11 - STL AdditionsC++11 - STL Additions
C++11 - STL Additions
 

Java 5 Features

  • 1. Shashank Raj H, 10-Sept-2010 Java 5 features
  • 2. Topics Generics Enhanced for Loop Autoboxing/Unboxing Typesafe Enums Varargs Static Import Metadata (Annotations)
  • 3. Generics List myIntList = new LinkedList(); // 1 myIntList.add(new Integer(0)); // 2 Integer x = (Integer) myIntList.iterator().next(); // 3 The idea behind generics is to enable the programmer to express his intention List<Integer> myIntList = new LinkedList<Integer>(); // 1 myIntList.add(new Integer(0)); //2 Integer x = myIntList.iterator().next(); // 3 – No cast required Compiler can check the type correctness at compile time. Improved readability and robustness. Introduction Cluttered Runtime error
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. Topics Generics Enhanced for Loop Autoboxing/Unboxing Typesafe Enums Varargs Static Import Metadata (Annotations)
  • 10.
  • 11.
  • 12.
  • 13. Topics Generics Enhanced for Loop Autoboxing/Unboxing Typesafe Enums Varargs Static Import Metadata (Annotations)
  • 14.
  • 15.
  • 16.
  • 17. Topics Generics Enhanced for Loop Autoboxing/Unboxing Typesafe Enums Varargs Static Import Metadata (Annotations)
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. Topics Generics Enhanced for Loop Autoboxing/Unboxing Typesafe Enums Varargs Static Import Metadata (Annotations)
  • 23.
  • 24.
  • 25. Topics Generics Enhanced for Loop Autoboxing/Unboxing Typesafe Enums Varargs Static Import Metadata (Annotations)
  • 26.
  • 27. Topics Generics Enhanced for Loop Autoboxing/Unboxing Typesafe Enums Varargs Static Import Metadata (Annotations)
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. Metadata (Annotations) Categories Annotations Normal annotations Single member annotation Marker annotations
  • 33.
  • 34.

Notas del editor

  1. Right klick on instance open context menu (access to locks, test jsps, facility to update instance or start kba)
  2. Right klick on instance open context menu (access to locks, test jsps, facility to update instance or start kba)