接口
ArrayList只可以保存添加顺序,如要对列表进行排序,可以调用Collections.sort方法,但必须保证列表中的元素是java.lang.Comparable类型
Comparable是一个接口,接口包含若干个方法的定义.java的Comparable类型的定义是:
public interface Comparable<T>
{
public int comprarTo( T o );
}
在这里,字符"T"是先告待比较类型的占位符,java编译器用实际类型来代替接口定义所有的T.
将定义和类定义进行对比.区别在于:使用interface关键字声明接口,使用class关键字声明类.接口不包含任何方法的实现.
方法 comparable 的作用是:根据排序规则,返回一个值,通过值来判断某个对象应该排在另一个对旬的前面还是后面.
在回到Comparable接口,可以看一下String的代码
public final class String
implements java.io.Serializable , Comparable<String> , CharSequence
{
...
方法sort轮流取出集合中的每一个对象,
并且将对象赋值给一个Comparable接口类型的变量.如果赋值成功,那么方法sort可以成功的将消息sort发送给这个对象.如果赋值不成功,java会报错
为什么需要接口
接口是Java提供的非常强大和重要的功能.使用接口是可靠设计的关键之一.正确地使用接口可以帮助您划分软件,最少化不同代码之间的相互影响,用户只用关心抽象的质量,而不用关心任何代码的细节
可以将抽象排序概念视为消除重复的一种方式.接口允许某个算法操作不同类型的对象.排序算法没有用来判断对象类型重复代码
系统中,使用接口提供抽象层,从而有乃至于消除重复
通过编写符合接口规范的桩代码,您可以利用接口消除代码之间的依赖关系,这些代码可以不工作甚至不存在.接口是实现有效测试的基本工具.
Comparable的实现
方法compareTo必须返回int类型的值,如果返回0,那么两个对象相同,如返回值为负数,哪么接收者应该排在参数的前面,如果返回值为正数,那么参数应该在接收者的前面.
分享到:
相关推荐
在本篇“Agile Java学习笔记【二】”中,我们将深入探讨敏捷开发方法与Java编程的结合,以及如何在Eclipse集成开发环境中利用Ant工具进行构建和测试。敏捷开发是一种以人为本、迭代、逐步发展的软件开发方法论,强调...
agile java 每一章 课程 的 源码;
《Agile Java 中文版》是一本专门为Java初学者和希望深入敏捷开发实践者准备的优秀书籍。本书全面覆盖了Java编程语言的基础知识,并结合敏捷开发的理念,为读者提供了实战性的学习路径。以下是对该书内容的详细解读...
《Agile Java》是一本专为初学者设计的Java编程教程,中文版的推出使得国内的编程爱好者能够更方便地学习这一全球广泛使用的编程语言。这本书深入浅出地讲解了Java语言的基础知识,旨在帮助读者快速掌握编程技能,并...
【标题】"Agile Java Example Code" 涵盖了敏捷开发方法在Java编程中的实践应用,这是一系列示例代码,旨在展示如何在实际项目中采用敏捷原则和技巧。敏捷开发是一种以人为本、迭代和增量的软件开发方法论,强调快速...
Agile Java Crafting Code with Test-Driven Development英文版,包含pdf和chm格式,pdf格式的目录缩进和超连接有问题,所以附上了改造过的chm文件,以便有心人可以修改目录。
《Agile Java 高清中文版》是一本深入讲解敏捷开发和Java编程实践的重要书籍,旨在帮助读者掌握如何在敏捷环境中高效地运用Java技术。这本书的高清中文版为中文读者提供了方便,使得学习过程更为直观易懂。 1. **...
【描述】"agile Java课后习题代码"暗示了这是一个教学情境,可能是学生在学习完敏捷开发与Java编程相关课程后,完成的练习项目或代码示例。这些代码可能包含了对敏捷开发原则的实践,例如短迭代周期、持续集成、用户...
《敏捷Java》是一本专注于Java编程和敏捷开发实践的书籍,其核心理念是结合敏捷开发方法与Java技术,提升软件开发效率和质量。书中的课后代码提供了丰富的实例,帮助读者深入理解和应用所学知识。以下是对这本书及其...
- **编译与运行**:本书提供了如何编译和运行第一个Java程序“Hello World”的示例,包括创建类、编写main方法、使用命令行工具javac进行编译以及使用java命令运行程序的具体步骤。 #### 第一课:入门 - **测试...
Agile Java 高清中文版 这本书一大特点是以单元测试和TDD来贯穿全书的,在教你Java各种重要的基础知识的过程中,潜移默化的影响你的编程思维走向敏捷,走向TDD。这本书成书,以JDK5.0的语法为基础讲解,要学习JDK...
java面试笔试题库java学习比较开发教程互联网公司面试资料大全合集: 100家大公司java笔试题汇总.doc 125条常见的java 面试笔试题大汇总.pdf 2011最新整理java经典代码.doc 25个经典的Spring面试问答.docx 8张图解...
《敏捷Java》是一本专注于如何在Java开发中应用敏捷原则和实践的书籍。该书的程序代码涵盖了多种敏捷开发中的核心技术和设计模式,为读者提供了丰富的实战案例,旨在帮助开发者提高工作效率,提升软件质量。 首先,...
第一章可能介绍了敏捷开发的基本理念和原则,包括迭代开发、持续集成、用户反馈驱动的开发过程、以及团队协作的重要性。敏捷方法强调适应变化,注重快速交付有价值的软件,并通过频繁的沟通和反馈来调整项目方向。这...
《Agile Java》是一本专为Java开发者设计的书籍,主要关注的是敏捷开发方法和测试驱动开发(TDD)在Java编程中的应用。这本书的核心理念是通过TDD来提高代码质量,推动敏捷开发流程,帮助开发者编写更加灵活、可维护且...
《敏捷Java开发:Spring、Hibernate与Eclipse实战》是一本深度探讨如何使用这些技术进行高效、灵活的软件开发的书籍。书中的代码示例涵盖了Java开发的重要方面,结合了Agile开发理念、Spring框架、Hibernate持久化库...
Agile Java 最初在图书馆看到它是因为比起那些陈年老书,它算很新的了,所以就借来看看。书后是这样介绍的:掌握java5.0,面向对象设计和测试驱动开发。本书将三者编织在一起,形成一种旨在构建一种专业健壮的软件...