tailieunhanh - Generics the Java Programming Language

JDK introduces several extensions to the Java programming language. One of these is the introduction of generics. This tutorial is aimed at introducing you to generics. You may be familiar with similar constructs from other languages, most notably C++ templates. If so, you’ll soon see that there are both similarities and important differences. If you are not familiar with look-a-alike constructs from elsewhere, all the better; you can start afresh, without unlearning any misconceptions. Generics allow you to abstract over types. The most common examples are container types, such as those in the Collection hierarchy | Generics in the Java Programming Language Gilad Bracha July 5 2004 Contents 1 Introduction 2 2 Defining Simple Generics 3 3 Generics and Subtyping 4 4 Wildcards 5 Bounded Wildcards. 6 5 Generic Methods 7 6 Interoperating with Legacy Code 10 Using Legacy Code in Generic Code . 10 Erasure and Translation . 12 Using Generic Code in Legacy Code. 13 7 The Fine Print 14 A Generic Class is Shared by all its Invocations. 14 Casts and InstanceOf . 14 Arrays . 15 8 Class Literals as Run-time Type Tokens 16 9 More Fun with Wildcards 18 Wildcard Capture. 20 10 Converting Legacy Code to Use Generics 20 11 Acknowledgements 23 1 1 Introduction JDK introduces several extensions to the Java programming language. One of these is the introduction of generics. This tutorial is aimed at introducing you to generics. You may be familiar with similar constructs from other languages most notably C templates. If so you ll soon see that there are both similarities and important differences. If you are not familiar with look-a-alike constructs from elsewhere all the better you can start afresh without unlearning any misconceptions. Generics allow you to abstract over types. The most common examples are container types such as those in the Collection hierarchy. Here is a typical usage of that sort List mylntList new LinkedList 1 new lnteger 0 2 Integer x Integer 3 The cast on line 3 is slightly annoying. Typically the programmer knows what kind of data has been placed into a particular list. However the cast is essential. The compiler can only guarantee that an Object will be returned by the iterator. To ensure the assignment to a variable of type Integer is type safe the cast is required. Of course the cast not only introduces clutter. It also introduces the possibility of a run time error since the programmer might be mistaken. What if programmers could actually express their intent and mark a list as being .

TỪ KHÓA LIÊN QUAN