上一页 1 2 3 4 5 6 7 8 9 ··· 23 下一页
摘要: ***File File类实际描述的是FilePath。 File path = new File("./bin/OutputVerifier.py"); //得到文件 File path = new File("./bin"); //得到文件夹 String[] list = path.list(); //得到path下文件和文件夹列表 File.list(FilenameFilter filter)File假如是一个Directory,可以通过list()方法得到这个目录下所有的文件和目录的名称数组,list()方法,一种是没有参数,一种是实现Fil 阅读全文
posted @ 2011-10-09 17:46 因是因非 阅读(199) 评论(0) 推荐(0) 编辑
摘要: ***Collections类publicstatic<T> List<T> nCopies(intn, T o)用单个对象的引用填充Collectionpublicstatic<T>voidfill(List<?superT> list, T obj) {替换已经在list中存在的元素,不能添加新的元素。***填充容器所有Collection子类型都有接受另一个Collection对象的构造器,用接受对象中的元素来填充新的容器。***可选操作执行各种不同的添加和移除的方法在Collection接口中都是可选操作,这意味着实现类 并不需要为这些方 阅读全文
posted @ 2011-10-09 17:44 因是因非 阅读(383) 评论(0) 推荐(0) 编辑
摘要: ***数组的特点数组与其他容器的区别:效率、类型和保存基本类型的能力。java中数组是一种效率最高的存储和随机访问对象引用序列的方式。数组就是一个简单的线性序列,这使得元素访问非常快速。但其代价是数组对象的大小被固定,并且在其生命周期不可被改变。数组之所有优于泛型之前的容器,因为:1 可以创建一个数组去持有某个类型,通过编译器检查来防止插入的错误类型和抽取不当类型。2 数组可以持有基本类型数组和泛型之后的容器都是类型检查的,差异在与数组使用[]访问元素,而容器使用get set add等方法。两者十分相似,切换容易,容器具有更多的功能。自动包装机制出现后,容器可以与数组一样方便的处理基本类型, 阅读全文
posted @ 2011-10-09 17:43 因是因非 阅读(283) 评论(0) 推荐(0) 编辑
摘要: ***概述泛型实现了参数化类型的概念,使代码可以应用于多种类型。泛型的最初目的是为了使类或方法具有最广泛的表达能力,这点可以通过解耦类或方法与所使用的类型之间的约束来实现。在创建参数化类型的一个实例时,编译器为你负责转型操作,并且保证类型的正确性。***简单泛型许多原因促使泛型的出现,最显著的一个是为了创造容器类。有时,需要能同时持有多个对象。但通常只会使用容器来存储一种类型的对象。泛型的主要目的之一就是指定容器要持有的对象类型,有编译器来保证类型的正确性。***元组一次方法调用就能返回多个对象,经常会需要类似的功能。解决办法是创建一个对象,用它来持有想要返回的多个对象。元组是将一组对象直接打 阅读全文
posted @ 2011-10-09 17:41 因是因非 阅读(584) 评论(0) 推荐(0) 编辑
摘要: ***识别对象和类的信息1 RTTI,它假定在编译时已知所有类型2 反射,它允许在运行时发现和使用类的信息***RTTIRTTI(Run-Time Type Identification,通过运行时类型识别)程序能够使用基类的指针或引用来检查这些指针或引用所指的对象的实际派生类型。1 传统的类型转换 如 (Shape)shape2 通过查询Class对象可以获得运行时所需的信息。3if(petinstanceofPet)4if(pair.getKey().isInstance(pet))***Class对象java使用Class对象来执行其RTTI。每个类都有一个Class对象。JVM使用类加 阅读全文
posted @ 2011-10-09 17:39 因是因非 阅读(279) 评论(0) 推荐(0) 编辑
摘要: ***不可变String String类中的每个看起来会修改String值的方法,实际上是创建了新的String对象。***StringBuilder 简单的字符串操作可以使用java的操作符+,复杂的字符串拼接等操作(比如有循环),应优先采用StringBuilder,因为如果采用默认操作符,在循环体内,java编译器会在每次循环时new一个StringBuilder来操作字符串,效率会低。***格式化输出 public class SimpleFormat { public static void main(String[] args) { i... 阅读全文
posted @ 2011-10-09 17:37 因是因非 阅读(179) 评论(0) 推荐(0) 编辑
摘要: ***基本概念 使用异常的好处是,它往往能够降低错误处理代码的复杂度。如果不使用异常,就必须检查特定的错误,在程序的很多地方进行处理。而使用异常则不必在方法调用处进行检查,因为异常机制能够捕获这个错误,并且只需在一个地方处理。而且能把执行过程代码和错误处理代码相分离。***Checked vs UnChecked异常除了Error与RuntimeException,其他剩下的异常都是你需要关心的,而这些异常类统称为Checked Exception,至于Error与RuntimeException则被统称为Unchecked Exception.***基本异常 当抛出异常后,java会使用ne 阅读全文
posted @ 2011-10-09 17:36 因是因非 阅读(262) 评论(0) 推荐(0) 编辑
摘要: ***基本概念 java容器类库用途是保存对象。分为2类: 1 Collection一个独立元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保存元素,Set不能有重复元素。Queue按照排队规则来确定对象产生的顺序(通常与插入的顺序相同)。 2 Map一组成对的键值对对象,允许使用键来查找值,将数字和对象关联到一起。映射表允许我们使用另一个对象来查找某个对象,也被称为关联数组或字典。 应尽量使用接口去声明对象,如:List<Apple>apples=newArrayList<Apple>(); 创建出一个具体类的对象,将其转型为对应的接口,在其余的代 阅读全文
posted @ 2011-10-09 17:35 因是因非 阅读(253) 评论(0) 推荐(0) 编辑
摘要: ***访问 1.从外部类的(非静态方法)之外的地方创建内部类对象时,需要使用Outerclass.innerclass来指明类型 2.内部类拥有对外部类所有元素的访问权,内部类隐式地保存了一个指向外部类对象的引用。 3..this .new在内部类中,可以使用OuterClass.this获取对外部类对象的引用。不能直接生产内部类对象,而是通过外部类对象来创建,如 OutClass outer= new OutClass(); OuterClass .InnerClass inner=outer. new InnerClass(); 4.外部类可以访问内部类的private... 阅读全文
posted @ 2011-10-09 17:34 因是因非 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 抽象类和抽象方法 抽象类目的:创建一个通用接口来操纵一系列类,但不允许类本身实例化。因为抽象类中没有具体的实现内容,创建其对象没有实质意义。包含抽象方法的类一定是抽象类,抽象类可以不包含抽象方法。抽象方法是不完整的,只有声明而没有方法体。子类必须为父类中的抽象方法提供定义,若不定义,则也为抽象类。 抽象类和抽象方法非常有用,它们可以使类的抽象性明确起来,并告诉用户和编译器打算怎样来使用它们。抽象类还是很有用的重构工具,使得我们可以很容易的将公共方法沿着继承层次结构向上移动。接口 interface产生一个完全抽象的类,没有任何具体实现,只允许创建者确定方法名,参数列表和返回类型,但是没有任何方 阅读全文
posted @ 2011-10-09 17:32 因是因非 阅读(148) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 23 下一页