- 浏览: 502837 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (437)
- Windows设置 (2)
- oracle数据库 (39)
- bug--jsp (4)
- j2se (13)
- js (40)
- bug-tomcat不能启动程序 (1)
- Hibernate (29)
- eclipse (20)
- java (65)
- 设计模式 (6)
- bug (18)
- PL/SQL (11)
- 前台 (5)
- 杂谈 (25)
- UML (1)
- jdbc编程 (2)
- 技术调研 (1)
- 数据通信 (2)
- ios (1)
- servlet自学笔记 (10)
- tomcat (9)
- SQL学习笔记 (6)
- java工具 (1)
- 数据库设计 (4)
- javascript (10)
- jsp (11)
- struts (17)
- ajax (7)
- linix/Unix (6)
- 资源 (3)
- spring (14)
- 算法 (5)
- 计算机网络 (2)
- http (5)
- c++ (2)
- web应用 (3)
- jvm (5)
- java中的字符编码 (14)
- java代码库 (2)
- classloader (1)
- 读书笔记 (1)
- c (1)
- 开源软件 (1)
- svn (1)
- AOP (1)
- java序列化 (1)
- 多线程 (4)
- The legendary programmers (1)
- Apache http Server (1)
- html tag (3)
- struts1.X学习笔记 (5)
- buffalo (1)
- 自己收藏 (0)
- TOEFL(IBT) (1)
- 网络翻墙 (0)
- 编译原理 (1)
- 书籍推荐 (1)
- css (10)
- javaee环境搭建资料 (1)
- 开源工具 (1)
- 美国生活 (1)
- spring自学 (3)
- log4j (3)
- 算法与数据结构 (5)
- 病毒,插件处理大全 (1)
- flex (2)
- webservice (1)
- git (7)
- cs (1)
- html (4)
- javaee (6)
- 开车 (0)
- springmvc (3)
- 互联网架构 (2)
- intellij idea (18)
- maven (15)
- mongodb (2)
- nginx (1)
- react (3)
- java基础例子 (2)
- springboot (2)
- 培训 (5)
- mysql (3)
- 数据库 (3)
- 生活 (2)
- intellij (3)
- linux (2)
- os (3)
最新评论
-
潇洒天涯:
[color=blue][color=cyan] ...
oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 -
hekai1990:
受教了..
oracle中的varchar2
public static String getIdString(String id){
String mehodStr = null;
if(id!=null){
char oldChar = id.charAt(0);
char newChar = (oldChar + "").toUpperCase().charAt(0);
String temp =newChar + id.substring(1);
mehodStr = "get" + temp;
}
return mehodStr;
}
//排序
final String sortColumn = (String)searchConditions.getCondition("sortColumn");
final String sortOrder = (String)searchConditions.getCondition("sortOrder");
Collections.sort(list, new Comparator(){
public int compare(Object o1, Object o2) {
try {
//得到get方法名
String getMethodName = StringUtil.getIdString(sortColumn);
Class clazz = o1.getClass();
//get方法
Method m3 = clazz.getDeclaredMethod(getMethodName);
//返回值类型
Class returnType = m3.getReturnType();
//根据返回值类型进行比较
if(returnType == String.class ){
//调用get方法得到field
String field1 = (String)m3.invoke(o1);
String field2 = (String)m3.invoke(o2);
if(field1 == null)
field1 = "";
if(field2 == null)
field2 = "";
if(sortOrder.equals("asc")){
return field1.compareTo(field2);
}else
return field2.compareTo(field1);
}else if(returnType == Date.class){
Date field1 = (Date)m3.invoke(o1);
Date field2 = (Date)m3.invoke(o2);
if(field1 == null)
field1 = new Date();
if(field2 == null)
field2 = new Date();
if(sortOrder.equals("asc")){
return field1.compareTo(field2);
}else
return field2.compareTo(field1);
}else if(returnType == long.class){
long field1 = (Long)m3.invoke(o1);
long field2 = (Long)m3.invoke(o2);
if(sortOrder.equals("asc")){
return (int)(field1-field2);
}else
return (int)(field2-field1);
}else if(returnType == ResumeStatusType.class){
ResumeStatusType field1 = (ResumeStatusType)m3.invoke(o1);
ResumeStatusType field2 = (ResumeStatusType)m3.invoke(o2);
if(field1 == null)
field1 = ResumeStatusType.getInstance("1");
if(field2 == null)
field2 = ResumeStatusType.getInstance("1");
if(sortOrder.equals("asc")){
return field1.getCode().compareTo(field2.getCode());
}else
return field2.getCode().compareTo(field1.getCode());
}
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}});
//排序end
发表评论
-
【转】Spring的DAO异常-你可能忽视的异常
2018-10-11 05:04 539Spring的DAO框架没有抛出与特定技术相关的异常,例如 ... -
【转】java8 Optional
2018-10-05 02:39 467https://my.oschina.net/wangz ... -
java double checked locking broken
2018-09-15 01:56 486// Double-check idiom for lazy ... -
【转】JAVA泛型通配符(PECS)
2018-07-29 10:43 513在JAVA的泛型集合中,默认都可以添加null,除此以外, ... -
Differences between notify() and notifyAll()
2018-07-16 09:01 521Notification to number of th ... -
【转】深度解析Java多线程的内存模型
2018-07-16 09:00 486https://www.jianshu.com/p/a3f ... -
maven项目src源代码下的资源文件不自动复制到classes文件夹的解决方法
2018-07-01 23:34 1187POM文件 <build><resour ... -
java好用的开源库
2018-04-28 23:40 0guava--google第三方数据结构开源包 Vardu ... -
【转】java rmi
2018-01-03 18:57 397此处讲的是Java中的RMI ... -
【转】字符编码笔记:ASCII,Unicode 和 UTF-8
2017-12-12 19:09 449今天中午,我突然想搞清楚 Unicode 和 UTF-8 之 ... -
【转】Java web 学习路线
2017-06-14 15:55 700JSP -> Servlet -> Java ... -
有意思的ASCII程序注释
2017-06-14 10:39 732/** * * create ... -
【转】Java基础知识总结(绝对经典)
2017-06-13 14:13 517本人学习java时,做的java基础知识总结: 因内容较 ... -
java定时任务
2017-03-27 10:08 409import java.util.concurrent.Ex ... -
二分查找(java实现)
2017-03-21 11:02 484二分查找 算法思想:又叫折半查找,要求待查找的序列有序。每 ... -
java环境配置
2017-03-15 15:46 437增加系统变量: JAVA_HOME C:\Program ... -
Java中的Big(Little)-endian问题的一种解决方法
2017-03-08 15:47 1030http://blog.sina.com.cn/s/blo ... -
【转】Spring3.3 整合 Hibernate3、MyBatis3.2 配置多数据源/动态切换数据源 方法
2016-12-13 15:07 703http://www.cnblogs.com/hoojo ... -
【转】JNDI学习总结(三)——Tomcat下使用Druid配置JNDI数据源
2016-12-13 14:50 1274http://www.cuomi.com/html/co ... -
【转】JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
2016-12-13 14:48 724http://blog.csdn.net/samjustin ...
相关推荐
我们可以使用泛型来指定排序的字段,然后使用反射机制来动态地取得方法。 例如,我们可以使用以下代码来对 UserInfo 对象的 userId 字段进行排序: Java 代码 SortList<UserInfo> sortList = new SortList(); sort...
设计一个负责排序的程序包,实现多种排序算法,至少包括插入排序、冒泡排序和快速排序算法。 要求: 1.可以对任何简单类型和任意对象进行排序 2.可以支持升序、降序、字典排序等多种顺序要求 3.可以随意增加排序算法...
- 动态过滤(Where):如果过滤条件在编译时未知,可以使用反射创建表达式树来动态地构造这些条件。 - 动态排序(OrderBy/ThenBy):根据运行时的需要,你可以动态指定排序依据。 - 动态聚合(GroupBy/Sum/Average)...
Java 中的自定义排序是指在编写 Java 程序时,通过实现 Comparable 接口来实现对对象的排序。在本节中,我们将通过一个实体类的示例来演示如何实现自定义排序。 自定义排序的必要性 在 Java 程序中,排序是非常...
4. **扩展性**:当新的需求出现时,例如需要支持复杂的排序规则或者分组统计,反射可以使我们在不修改原有代码的情况下,通过新增或修改类来实现这些功能。 5. **性能优化**:反射可以用于在运行时判断是否启用某些...
总的来说,实现GridView点击列头排序涉及的关键点包括:开启`AllowSorting`属性,监听`OnSorting`事件,使用反射获取属性值,以及通过`ViewState`保存和更新排序状态。理解这些概念和技术可以帮助你有效地在ASP.NET...
- 使用反射调用对象的方法获取属性值。 - 根据属性值的类型(字符串、整型、浮点型)进行相应的比较。 5. **辅助方法**: - `objectToString()`: 将对象转换为字符串。 - `objectToInt()`: 将对象转换为整型。 ...
例如,在配置文件处理中,可以使用反射动态加载类并实例化,然后利用Map存储配置项,通过键来动态调用反射方法。此外,动态代理技术(如Java的Proxy类)也常结合反射和映射,根据接收到的方法调用来执行相应的逻辑。...
为了解决这一问题,可以设计一个通用的工具类来实现基于对象属性的排序功能,无需在实体类中重写排序方法,从而提高开发效率。 #### 二、核心概念与技术 1. **Comparator**:是Java中用于比较两个对象的接口,通过...
在ASP.NET 2.0中操作数据:DataList和Repeater数据排序(三)
总结来说,枚举提供了一种安全的方式来定义一组常量,而反射机制则赋予了Java程序在运行时探索和操作类的能力,这两者都是Java强大特性的体现。在实际开发中,理解并合理运用枚举和反射,能够提升代码的灵活性和可...
在这个场景中,我们关注的是如何利用蓝牙(Bluetooth)的信号强度指示符(RSSI,Received Signal Strength Indicator)来估算距离,并对多个蓝牙设备按照从近到远的顺序进行排序。这在物联网(IoT)、智能家居、智能...
标题中的“各种排序算法java实现”指的是在Java编程...总结来说,这个压缩包内容可能涵盖了多种排序算法的Java实现,以及一个关于Java反射的实例,对于学习和理解Java编程、数据结构以及程序设计原理具有很高的价值。
例如,你可以使用反射来获取类的字段信息,然后动态生成对应的SET和WHERE子句,以此实现通用的CRUD(Create、Read、Update、Delete)操作。 JDBC是Java连接数据库的标准API,提供了与各种数据库交互的能力。通过...
用go语言实现的结构体排序,使用go的反射包(reflect),实现结构体按指定字段排序,字段类型目前支持int,int64,string,方便扩展任意基本类型,使用直接导入包,然后调用sortStruct(structArr, 'sorft_name', ...
由于默认情况下,`DataGridView`仅在绑定到支持排序的数据源(如`DataTable`或SQL查询结果)时提供排序功能,因此当绑定到`List<T>`时,我们需要自定义代码来实现这个功能。 首先,我们需要创建一个帮助类或者扩展...
Java 反射耗时测试案例解析 Java 反射机制是 Java 语言中的一种强大功能,它允许开发者在运行...因此,在实际开发中,需要根据实际情况选择是否使用反射机制,并且需要尽量减少反射机制的使用频率,以提高系统的性能。
在这个例子中,我们将创建一个自定义注解,然后在类的属性上使用这个注解,以指定它们在反射时的顺序。 首先,我们需要定义一个注解,比如`@Order`: ```java import java.lang.annotation.*; @Retention...
在实际的工作中直接使用反射的机会比较少,有印象的就是一次自己做的WinForms小工具的时候利用反射来动态获取窗体上的每个控件,并且为必要的控件动态添加注册事件。因为刚入职新公司,为了更快的了解公司的业务、和...
// 使用反射获取对象的属性值 return obj.getClass().getMethod("get" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1)).invoke(obj); } catch (Exception e) { throw new ...