仓酷云

标题: 了解下JAVA的Java中利用commons-beanutils对List元素中的多个属性举行排序 [打印本页]

作者: 柔情似水    时间: 2015-1-18 11:10
标题: 了解下JAVA的Java中利用commons-beanutils对List元素中的多个属性举行排序
J2ME在手机游戏开发的作用也是无用质疑的。至于桌面程序,可能有人说java不行,界面不好看,但是请看看NetBeans和Eclipse吧,他们都是利用java开发的,而他们的界面是多么的华丽,所以界面决不是java的缺点。还有一个不得不提的优点就是大多java人员都挂在嘴边的java的跨平台性,目前这确实也是java优点之一。
commons-beanutils类库中有一个BeanComparator类,能够用来给JavaBean排序。可是这个类一次只能对一个属性排序。上面是一个使用BeanComparator完成对JavaBean的多个属性举行排序的例子,十分复杂:
  1. 1.importorg.apache.commons.beanutils.BeanComparator;
  2. 2.importjava.util.Collections;
  3. 3.importjava.util.Comparator;
  4. 4.importjava.util.List;
  5. 5.
  6. 6./**
  7. 7.*对List元素的多个属性举行排序的类
  8. 8.*/
  9. 9.@SuppressWarnings({"unchecked"})
  10. 10.publicclassListSorter{
  11. 11.
  12. 12./**
  13. 13.*List元素的多个属性举行排序。比方ListSorter.sort(list,
  14. "name","age"),则先按
  15. 14.*name属性排序,name不异的元素按age属性排序。
  16. 15.*
  17. 16.*@paramlist包括要排序元素的List
  18. 17.*@paramproperties要排序的属性。后面的值优先级高。
  19. 18.*/
  20. 19.publicstatic<V>voidsort(List<V>list,final
  21. String...properties){
  22. 20.Collections.sort(list,newComparator<V>(){
  23. 21.publicintcompare(Vo1,Vo2){
  24. 22.if(o1==null&&o2==null)return0;
  25. 23.if(o1==null)return-1;
  26. 24.if(o2==null)return1;
  27. 25.
  28. 26.for(Stringproperty:properties){
  29. 27.Comparatorc=newBeanComparator(property);
  30. 28.intresult=c.compare(o1,o2);
  31. 29.if(result!=0){
  32. 30.returnresult;
  33. 31.}
  34. 32.}
  35. 33.return0;
  36. 34.}
  37. 35.});
  38. 36.}
  39. 37.}
复制代码
因为能用到多少功能就用多少,不能用就不用!总的来说:要简单要性能好,可以不用框架。你说java复杂,就是因为你把java(j2ee)与这些框架混在了一起。
作者: 兰色精灵    时间: 2015-1-20 15:47
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
作者: 第二个灵魂    时间: 2015-1-29 12:36
是一种使网页(Web Page)产生生动活泼画面的语言
作者: 仓酷云    时间: 2015-2-1 11:55
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
作者: admin    时间: 2015-2-10 12:40
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
作者: 变相怪杰    时间: 2015-2-14 04:03
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
作者: 海妖    时间: 2015-3-4 04:29
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
作者: 蒙在股里    时间: 2015-3-11 16:38
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
作者: 简单生活    时间: 2015-3-19 01:34
是一种使网页(Web Page)产生生动活泼画面的语言
作者: 冷月葬花魂    时间: 2015-3-26 22:15
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2