当前位置: 首页 > news >正文

深圳市信任网站企业网站模板 演示

深圳市信任网站,企业网站模板 演示,在线生成器免费,深圳网站建设公司哪里有在数据库中查出来的列表list中#xff0c;往往需要对不同的字段重新排序#xff0c;一般的做法都是使用排序的字段#xff0c;重新到数据库中查询。如果不到数据库查询#xff0c;直接在第一次查出来的list中排序#xff0c;无疑会提高系统的性能。 只要把第一次查出来的结…在数据库中查出来的列表list中往往需要对不同的字段重新排序一般的做法都是使用排序的字段重新到数据库中查询。如果不到数据库查询直接在第一次查出来的list中排序无疑会提高系统的性能。 只要把第一次查出来的结果存放在session中就可以对list重新排序了。一般对list排序可以使用 Collections.sort(list)但如果list中包含是一个对象的话这种方法还是行不通的。那要怎么排序呢如果有一个 UserInfo对象,包含如下字段     private java.lang.Integer userId;     private java.lang.String username;     private java.util.Date birthDate;      private java.lang.Integer age;    那么现在要对userId排序你可能会使用下面的方法 Collections.sort(list, new Comparator() { public int compare(Object a, Object b) { int one ((Order)a).getUserId (); int two ((Order)b).getUserId (); return one- two ; } }); 这样如果要实现对UserInfo列表各字段排序是不是每个字段都写一段如上所示的代码呢那当然不是我们所需要的结果。写程序要写得越来越精练不能越写越冗余。能不能写一个通用的方法呢答案是肯定的但首先必须能解决下面三个问题 1  可以使用泛型 2  能够使用通用的比较方法比如compareTo 3  有没有类似泛型、泛型方法那样的泛方法 第1个问题可以解决第2个问题难度也不是很大因为Java所有的类型都继承于Object都有一个ToString的方法暂且可以把所有 类型转换成String然后用compareTo作比较。第3个问题日前还没有我们需要的泛方法。不过我们可否变通一下使用getMethod和 invoke方法动态的取出方法出来。完成代码如下 public class SortListE{ public void Sort(ListE list, final String method, final String sort){Collections.sort(list, new Comparator() { public int compare(Object a, Object b) {int ret 0;try{Method m1 ((E)a).getClass().getMethod(method, null);Method m2 ((E)b).getClass().getMethod(method, null);if(sort ! null desc.equals(sort))//倒序ret m2.invoke(((E)b), null).toString().compareTo(m1.invoke(((E)a), null).toString()); else//正序ret m1.invoke(((E)a), null).toString().compareTo(m2.invoke(((E)b), null).toString());}catch(NoSuchMethodException ne){System.out.println(ne);}catch(IllegalAccessException ie){System.out.println(ie);}catch(InvocationTargetException it){System.out.println(it);}return ret;}});} }看看上面的代码我们是不是成功地解决了上面三个问题并且还加进了正倒序。代码中没有用到具体的对象和类型已经具有通用性了我们用了一个泛型E如 果要对UserInfo的userId排序的话可以把方法名用字符串的形式用参数传进去例如“getUserId”。可以使用下面提供的代码测试一 下 //Test.java package test;import java.util.ArrayList; import java.util.List; import java.text.SimpleDateFormat;public class Test {public static void main(String[] args)throws Exception{ListUserInfo list new ArrayListUserInfo();SimpleDateFormat formater new SimpleDateFormat(yyyy-MM-dd);list.add(new UserInfo(3,b,formater.parse(1980-12-01),11));list.add(new UserInfo(1,c,formater.parse(1980-10-01),30));list.add(new UserInfo(2,a,formater.parse(1973-10-01),11));System.out.println(-------原来序列-------------------);for(UserInfo user : list){System.out.println(user.toString());} //调用排序通用类SortListUserInfo sortList new SortListUserInfo();//按userId排序sortList.Sort(list, getUserId, desc);System.out.println(--------按userId倒序------------------);for(UserInfo user : list){System.out.println(user.toString());}//按username排序sortList.Sort(list, getUsername, null);System.out.println(---------按username排序-----------------); for(UserInfo user : list){System.out.println(user.toString());}//按birthDate排序sortList.Sort(list, getBirthDatestr, null);System.out.println(---------按birthDate排序-----------------); for(UserInfo user : list){System.out.println(user.toString());}}}测试结果如下 -------原来序列------------------- 3; b; 1980-12-01; 11 1; c; 1980-10-01; 30 2; a; 1973-10-01; 11 --------按userId倒序------------------ 3; b; 1980-12-01; 11 2; a; 1973-10-01; 11 1; c; 1980-10-01; 30 ---------按username排序----------------- 2; a; 1973-10-01; 11 3; b; 1980-12-01; 11 1; c; 1980-10-01; 30 ---------按birthDate排序----------------- 2; a; 1973-10-01; 11 1; c; 1980-10-01; 30 3; b; 1980-12-01; 11 注意日期的排序是先通过格式转换再来排序的否则将不能有正确的结果。       源内容http://jardot.iteye.com/blog/762349
http://www.huolong8.cn/news/215490/

相关文章:

  • 马鞍山网站设计价格游戏网站怎么赚钱
  • 网络营销推广的概念鲨皇seo
  • 学校网站建设整改报告有做网站设计的吗
  • 做网站需要注意事项哈尔滨做网站建设
  • 南京疾控最新通告今天网站搜索引擎优化工具
  • apache添加网站网页版传奇有哪些
  • 网上做图赚钱的网站用网站做淘客怎么做
  • 推荐做微商海报的网站怀化市建设局门户网站
  • 邯郸开发网站有哪些网站包括哪些内容
  • 广西医院响应式网站建设方案网店服务平台
  • 专门做网站的公司与外包公司有哪些学校网站制作素材
  • 广州市做网站的桂林到阳朔多少公里
  • 电子商务网站制作南昌网站建设模板服务商
  • 从网站优化之角度出发做网站策划希爱力双效片
  • 南宁做网站比较好的公司如何做好阿里巴巴企业网站建设
  • 南京市住房建设网站营销的主要目的有哪些
  • 建设银行官方网站首页教师做课题可以参考什么网站
  • 怎样做支付网站wordpress 获取缩略图
  • 建网站服务器系统企业app软件定制开发系统
  • 给网站可以怎么做外链南京做网站南京乐识最优
  • 苏州做企业网站的公司wordpress外观主题制作
  • 为什么网站建设图片显示不出来单位网站建设汇报材料
  • 网站建设与维护方式是什么网页设计叫什么行业
  • 柳江企业网站建设价格asp网站模板源码
  • 盈润企业网站管理系统做网站编辑我能力得到提升
  • c2c代表网站是什么百度一下移动版首页
  • php网站开发设计要求双重预防机制信息化平台
  • 推广网站有效的免费方法国外 创意 网站
  • 网页设计与网站建设完全学习手册百度查重软件
  • 网站怎么做本地映射wordpress有什么优缺点