Home
malinkang
Cancel

ArrayList源码分析

类图 构造函数 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; public ArrayList(int initialCapacity) { if (initialCapacity > 0) { this.elementData = new Object[ini...

《Java编程思想》第21章并发

《Java编程思想》第20章注解

《Java编程思想》第19章枚举类型

19.1 基本enum特性 调用enum的values()方法,可以遍历enum实例。values()方法返回enum实例的数组,而且该数组中的元素严格保持其在enum中声明时的顺序。 创建enum时,编译器会为你生成一个相关的类,这个类继承自java.lang.Enum。 //: enumerated/EnumClass.java // Capabilities of the Enu...

《Java编程思想》第18章I/O系统

1.File类 1.1 目录列表器 //: io/DirList.java // Display a directory listing using regular expressions. // {Args: "D.*\.java"} import java.util.regex.*; import java.io.*; import java.util.*; public clas...

《Java编程思想》第17章容器深入研究

填充容器 与Arrays版本一样,此fill()方法也是只复制同一个对象引用来填充整个容器的,并且只对List对象有用,但是所产生的列表可以传递给构造器或addAll()方法: //: containers/FillingLists.java // The Collections.fill() & Collections.nCopies() methods. import jav...

《Java编程思想》第16章数组

数组为什么特殊 数组与其他种类的容器之间的区别有三方面:效率、类型和保存基本类型的能力。在Java中,数组是一种效率最高的存储和随机访问对象引用序列的方式。数组就是一个简单的线性序列,这使得元素访问非常快速。但是为这种速度所付出的代价是数组对象的大小被固定,并且在其生命周期中不可改变。 数组之所以优于泛型之前的容器,就是因为你可以创建一个数组去持有某种具体类型。这意味着你可以通过编译期检...

《Java编程思想》第15章泛型

一般的类和方法,只能使用具体的类型:要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大。 在面向对象编程语言中,多态算是一种泛化机制。例如,你可以将方法的参数类型设为基类,那么该方法就可以接受从这个基类中导出的任何类作为参数。这样的方法更加通用一些,可应用的地方也多一些。在类的内部也是如此,凡是需要说明类型的地方,如果都使用基类,确实能...

《Java编程思想》第14章类型信息

运行时类型信息使得可以在程序运行时发现和使用类型信息。 它使你从只能在编译期执行面向类型的操作的禁锢中解脱了出来,并且可以使用某些非常强大的程序。对RTTI的需要,揭示了面向对象设计中许多有趣的问题,同时也提出了如何组织程序的问题。 Java是如何让我们在运行时识别对象和类的信息的。主要有两种方式:一种是传统的RTTI,它假定我们在编译时已经知道了所有的类型;另一种是“反射”机制,它允许...

《Java编程思想》第13章字符串

13.1 不可变String public class Immutable { public static String upcase(String s){ return s.toUpperCase(); } public static void main(String[] args) { String q = "howdy"; ...