tailieunhanh - Generics in 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 isconceptions. | Generics in the Java Programming Language Gilad Bracha March 9, 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 17 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 con- tainer types, such as those in the Collection hierarchy. Here is a typical usage of that sort: List myIntList = new LinkedList(); // 1 (new Integer(0)); // 2 Integer x = (Integer) ().next(); // 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. .

crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.