//: generics/GenericWriting.java
import java.util.*;
public class GenericWriting {
static <T> void writeExact(List<T> list, T item) {
list.add(item);
}
static List<Apple> apples = new ArrayList<Apple>();
static List<Fruit> fruit = new ArrayList<Fruit>();
static void f1() {
writeExact(apples, new Apple());
// writeExact(fruit, new Apple()); // Error: (出错行。。。。。。)
// Incompatible types: found Fruit, required Apple
}
static <T> void
writeWithWildcard(List<? super T> list, T item) {
list.add(item);
}
static void f2() {
writeWithWildcard(apples, new Apple());
writeWithWildcard(fruit, new Apple());
}
public static void main(String[] args) { f1(); f2(); }
} ///:~
以上是书中源代码。作者认为出错行的理由是fruit是ArrayList<Fruit>(),里面不能放Fruit的任何子类对象,但是:
我在eclipse中把出错行..的那行取消注释,可以正常编译运行。请问是什么道理
分享到:
- 2008-02-26 09:06
- 浏览 1624
- 评论(5)
- 论坛回复 / 浏览 (4 / 2586)
- 查看更多
相关推荐
除了泛型的基本用法之外,《Thinking in Java》还探讨了更高级的主题,如反射机制,这是一种能够获取类的信息并动态创建对象的技术,在某些场景下非常有用。 ### 四、案例分析与实践 #### 1. 实战案例 书中包含多...
类型信息 第15章 泛型 第16章 数组 第17章 容器深入研究 第18章 Java I/O系统 第19章 枚举类型 第20章 注解 第21章 并发 第22章 图形化用户界面 附录A 补充材料 可下载的补充材料 Thinking in C:Java的基础 Java...
总之,这份《Thinking in Java 4》的源码是一个宝贵的资源库,它不仅仅是书本理论的实践展现,更是提升编程技能的实用工具。通过IDEA导入并运行这些源码,你可以亲手操作,加深对Java语言的理解,提升编程能力,成为...
以上只是《Java编程思想》中部分核心知识点的概述,实际书籍中涉及的内容更为丰富,包括网络编程、数据库连接、GUI编程、Swing、JDBC、设计模式等多个方面,是一本全面而深入的Java学习指南。通过阅读和实践书中的...
《Thinking in Java》是Bruce Eckel的经典编程教材,它深入浅出地介绍了Java语言的核心概念和技术。这本书以其全面性、深度和清晰的讲解而受到广大程序员的推崇,无论是初学者还是经验丰富的开发者,都能从中...
通过深入学习《Thinking in Java》,读者不仅可以掌握Java语言本身,还能了解更广泛的编程思想和最佳实践,这对于成为一名优秀的Java开发者至关重要。书中的每个章节都包含了丰富的例子和练习,鼓励读者动手实践,...
《Thinking in Java》是Bruce Eckel的经典编程教材,它深入浅出地介绍了Java语言的核心概念和技术。...《Thinking in Java-answer》提供的答案集将帮助读者检查自己的理解,找到错误并修正,从而更有效地学习Java编程。
以下是基于《Thinking in Java》这本书的一些核心知识点和在实际编程中可能遇到的相关内容: 1. **面向对象编程基础**:Java是一种完全面向对象的语言,源码中会涵盖类、对象、封装、继承和多态等基本概念。理解...
通过《Thinking in Java Annotated Solution Guide》,读者不仅可以解决书中的练习题,还能深入理解Java编程的各个方面,从而提升编程技能和解决问题的能力。对于初学者来说,这是一本不可多得的学习资源;对于有...
《Thinking in Java》是Bruce Eckel创作的一本Java编程经典教程,尤其以其第一版闻名于世。这本书深入浅出地介绍了Java语言的核心概念和技术,旨在帮助读者建立起对Java的全面理解,培养良好的编程思维习惯。作为一...
通过阅读《Thinking in Java》第三版,读者不仅可以深入理解Java语言,还能学习到良好的编程习惯和设计原则,从而成为一名优秀的Java开发者。书中丰富的例子和习题更是提供了实践和巩固知识的绝佳机会。对于初学者和...
《Thinking in Java 3rd Edition》是一本深入且全面的Java编程教程,无论你是初学者还是经验丰富的开发者,都能从中受益匪浅。通过学习这本书,你可以系统地理解和掌握Java编程语言,并具备解决实际问题的能力。
在压缩包文件"thinking in java source code"中,你可以找到书中各个章节示例程序的源代码。这些代码是理解和掌握Java编程思想的关键,它们涵盖了: 1. **基础语法**:包括变量声明、数据类型、运算符、流程控制...
《Thinking in Java》是Java编程领域的一本经典著作,由Bruce Eckel撰写,深受程序员喜爱。这本书分为第三版和第四版,提供了英文版和中文版,适合不同语言背景的学习者。书中内容详实且深入,从基础知识到高级概念...
总的来说,《Thinking in Java 3rd Edition中文版》是一本全面而深入的Java教程,无论你是编程新手还是有经验的开发者,都能从中受益匪浅。通过这本书,你可以系统地学习Java语言,提升你的编程技能,为职业生涯打下...
总之,《Thinking in Java》是一本深度与广度并存的Java编程教程,无论是对Java语言的初学者还是经验丰富的开发者,都能从中获益匪浅。它以其高质量的写作和丰富的实践内容,赢得了全球程序员的高度赞誉,成为了Java...
总之,《Thinking in Java》第四版中文版是一本全面且深入的Java教程,无论你是新手还是经验丰富的开发者,都能从中获益匪浅。在iPad或平板上阅读,更方便随时查阅和学习,为你的Java编程之旅提供强大的支持。
这本书旨在帮助读者理解Java编程的核心概念,通过丰富的示例和解释来培养"思考像一个Java程序员"的能力。书后的答案和代码是学习过程中极其宝贵的资源,它们可以帮助读者验证自己的理解,解决在阅读过程中遇到的疑惑...
《Thinking in Java》是 Bruce Eckel 编著的一本经典的Java编程教材,它深入浅出地阐述了Java语言的核心概念和编程技术。翁凯教授在浙江大学的Java语言课程中,结合这本书的内容进行了讲解,并提供了配套的PPT和源...