摘要:TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点。TreeSet 和 TreeMap 的关系为了让大家了解 TreeMap 和 TreeSet 之间的关系,下面先看 TreeSet 类的部分源代码: public class TreeSet extends AbstractSet implements NavigableSet,...
阅读全文
摘要:? super T 语法将泛型类限制为所有T的超类(包括T自身),但只能用于参数中,不可以在返回值用加以限定。如果不加以限定,假设某个函数头为? super Manager get()由于编译器不知道该方法究竟会返回什么类,这样就只能用Object类来接收了。 该语法常用的一个情况是泛型类的比较java.util.TreeSet 代表一个有序的元素为E的树,它其中的一个构造器需要一个Compar...
阅读全文
摘要:如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一个用来搜索匹配字符串的模式。 许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级...
阅读全文
摘要:For-Each循环也叫增强型的for循环,或者叫foreach循环。 For-Each循环是JDK5.0的新特性(其他新特性比如泛型、自动装箱等)。 For-Each循环的加入简化了集合的遍历。 语法如下:for(type element: array){ System.out.println(element); }Demo: public static void query() { ...
阅读全文
摘要:Java泛型(generics)是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在JDK 5中的新集合类框架中。对于泛型概念的引入,开发社区的观点是褒贬不一。从好的方面来说,泛型的引入可以解决之前的集合类框架在使用过程中通常会出现的运行时刻类型错误,因为编译器可以在编译时刻就发现很多明...
阅读全文
摘要:午夜不眠的小狗|四级 public class Base{Class classType=T.class;public Base(){//想在这里 得到T的类对象 赋值给 classType} 评论|0 2010-04-29 08:13记忆邮心|四级 T.getClass()或 T.class,或class.forName(T.getClass().getName())T.getClass()或者...
阅读全文
摘要:普通泛型Java代码classPoint{//此处可以随便写标识符号,T是type的简称privateTvar;//var的类型由T指定,即:由外部指定publicTgetVar(){//返回值的类型由外部决定returnvar;}publicvoidsetVar(Tvar){//设置的类型也由外部决定this.var=var;}};publicclassGenericsDemo06{publicstaticvoidmain(Stringargs[]){Pointp=newPoint();//里面的var类型为String类型p.setVar("it");//设置字符串Sy
阅读全文
摘要:public class Base{ Class classType=T.class; public Base(){ //想在这里 得到T的类对象 赋值给 classType}getClass().getName())T.getClass()或者T.class都是非法的,因为T是泛型变量。由于一个类的类型是什么是在编译期处理的,故不能在运行时直接在Base里得到T的实际类型。有一种变通的实现方式:import java.lang.reflect.Array;import java.lang.reflect.ParameterizedType;import java.lang.reflect.T
阅读全文
摘要:Java中正则表达式的使用在Java中,我们为了查找某个给定字符串中是否有需要查找的某个字符或者子字串、或者对字符串进行分割、或者对字符串一些字符进行替换/删除,一般会通过if-else、for 的配合使用来实现这些功能。如下所示:Java代码publicclassTest{publicstaticvoidmain(Stringargs[]){Stringstr="@ShangHaiHongQiaoFeiJiChang";booleanrs=false;for(inti=0;i/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";Patte
阅读全文