|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
java比较简单,没有C++的烦琐,但学习时最好有C++为基础.与JSP和SQL起应用,功能强大.
Comparable&Comparator都是用来完成汇合中的排序的,只是Comparable是在汇合外部界说的办法完成的排序,Comparator是在汇合内部完成的排序,以是,如想完成排序,就必要在汇合外界说Comparator接口的办法或在汇合内完成Comparable接口的办法。
详细请看<Thinking in java>
Comparable是一个对象自己就已撑持自对照所必要完成的接口(如String、Integer本人就能够完成对照巨细操纵)
而Comparator是一个公用的对照器,当这个对象不撑持自对照大概自对照函数不克不及满意你的请求时,你能够写一个对照器来完成两个对象之间巨细的对照。
能够说一个是自已完成对照,一个是内部程序完成对照的不同罢了。
用Comparator是战略形式(strategydesignpattern),就是不改动对象本身,而用一个战略对象(strategyobject)来改动它的举动。
好比:你想对整数接纳相对值巨细来排序,Integer是不切合请求的,你不必要往修正Integer类(实践上你也不克不及这么做)往改动它的排序举动,只需利用一个完成了Comparator接口的对象来完成把持它的排序就好了。
java代码:
//AbsComparator.java
import java.util.*;
public class AbsComparator implements Comparator {
public int compare(Object o1, Object o2) {
int v1 = Math.abs(((Integer)o1).intValue());
int v2 = Math.abs(((Integer)o2).intValue());
return v1 > v2 ? 1 : (v1 == v2 ? 0 : -1);
}
}
能够用上面这个类测试AbsComparator:
//Test.java
import java.util.*;
public class Test {
public static void main(String[] args) {
//发生一个20个随机整数的数组(有正有负)
Random rnd = new Random();
Integer[] integers = new Integer[20];
for(int i = 0; i < integers.length; i++)
integers[i] = new Integer(rnd.nextInt(100) * (rnd.nextBoolean() ? 1 : -1));
system.out.println("用Integer内置办法排序:");
Arrays.sort(integers);
system.out.println(Arrays.asList(integers));
system.out.println("用AbsComparator排序:");
Arrays.sort(integers, new AbsComparator());
system.out.println(Arrays.asList(integers));
}
}
到时我们不用学struts,不用学spring,不用学Hibernate,只要能把jsf学会了,完全可以替代所有的框架,包括AJAX,都知道AJAX并不是新技术,虽说我没深入学习jsf但我认为jsf应该已经能通过其它技术替代AJAX,实现无缝刷新。 |
|