`

List<Object>通用排序

    博客分类:
  • J2SE
IE 
阅读更多
//通用排序
public class SortList<E> {
	public void Sort(List<E> 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;
			}
		});
	}
}



调用:

SortList<TbNews> sortList = new SortList<TbNews>();
// 排序 list为集合,getNdate根据哪个字段排序,desc排序方式
sortList.Sort(list, "getNdate", "desc");
分享到:
评论

相关推荐

    C#编程经验技巧宝典

    24&lt;br&gt;&lt;br&gt;0051 变量的作用域 25&lt;br&gt;&lt;br&gt;2.5 其他 26&lt;br&gt;&lt;br&gt;0052 有效使用this对象 26&lt;br&gt;&lt;br&gt;0053 如何声明变量 26&lt;br&gt;&lt;br&gt;0054 如何声明相同类型的多个变量 26&lt;br&gt;&lt;br&gt;0055 利用Object变量传递参数 ...

    DataSet 转化为List的通用方法

    List&lt;object&gt; list = new List&lt;object&gt;(); foreach (DataRow dr in dt.Rows) { list.Add(dr[columnName]); } return list; } ``` 这种方法简化了类型转换的过程,直接返回该列的所有值,存储为`List&lt;object&gt;...

    Java泛型编程最全总结

    由于Java的虚拟机不支持泛型,所以在编译后,所有的泛型信息都会被擦除,替换为具体的类型,如`ArrayList&lt;String&gt;`会被转化为`ArrayList&lt;Object&gt;`。这就意味着在运行时无法通过反射获取到泛型信息,因此泛型主要在...

    Populating a Generic Data List with Generic method

    在.NET框架中,`System.Collections.Generic.List&lt;T&gt;`是数据列表的一种常见实现,它是一个动态大小的数组,可以存储任何类型的对象,只要这些对象共享相同的基类(通常是`System.Object`)或接口。泛型版本的`List&lt;T...

    C++ 标准库 中文 高清 (2020最新带书签)

    首先,标准库中的`&lt;algorithm&gt;`头文件包含了各种通用的算法,例如排序(sort)、查找(find)、拷贝(copy)等,这些算法适用于不同的容器,如vector、list、set等。`&lt;allocators&gt;`头文件则涉及到内存分配策略,如...

    java 通用比较类

    Collections.sort(entities, new GenericComparator&lt;&gt;("name")); ``` 5. **扩展通用比较器** 如果你需要更复杂的比较逻辑,比如基于多个属性或自定义规则,可以扩展通用比较器。例如,可以添加更多的构造函数来...

    List对象排序通用方法[参考].pdf

    这里我们将探讨如何对包含自定义对象的`List`进行通用排序,并减少冗余代码。 首先,Java的`Collections.sort()`方法是用于对`List`进行排序的便捷工具,但默认它只能处理实现了`Comparable`接口的元素。对于自定义...

    STL ATL WTL的联系与区别

    STL的13个主要头文件包括:&lt;algorithm&gt;、&lt;deque&gt;、&lt;functional&gt;、&lt;iterator&gt;、&lt;vector&gt;、&lt;list&gt;、&lt;map&gt;、&lt;memory&gt;、&lt;numeric&gt;、&lt;queue&gt;、&lt;set&gt;、&lt;stack&gt;和&lt;utility&gt;,这些文件包含了STL的所有核心组件。例如,`std::...

    kellerMapper.jar

    这是一款轻量级的MyBatis插件,在GitHub上发布的有打好的jar包,... List&lt;UserInfo&gt; list = userMapper.baseSelectList(userInfo); if(list != null && list.size() &gt; 0){ return list.get(0); } return null; }

    本人写的Hibernate超级通用DAO

    4. **排序**:允许用户自定义排序规则,可以提供`List&lt;T&gt; findByCriteria(Criteria criteria, Order[] orders)`,传入Order对象来控制排序。 5. **事务管理**:为了确保数据的一致性,通用DAO应该包含事务管理。...

    Java1.5泛型指南中文版

    private List&lt;Object&gt; elements = new ArrayList&lt;&gt;(); @Override public void add(Object element) { elements.add(element); } } ``` ### 4. 通配符 (Wildcards) #### 什么是通配符 通配符是一种特殊的类型...

    List对象排序通用方法

    ### List对象排序通用方法 #### 一、背景与需求 在进行软件开发的过程中,经常会遇到从数据库中查询出一系列的数据并存储为`List`对象的情况。这些数据在后续的处理中可能需要根据不同的字段进行排序。传统的做法...

    前台Java通用分页详解描述下

    Page&lt;User&gt; page = new Page&lt;&gt;(1, 10); List&lt;User&gt; userList = userMapper.selectPage(page, Wrappers.lambdaQuery(User.class).eq(User::getName, "John")); ``` 3. **前端与后端的交互** 前端通常通过Ajax向...

    利用IComparable接口实现排序

    这样,当我们有一个`Person`对象的集合,并调用`List&lt;Person&gt;.Sort()`方法时,C#运行时会自动使用`CompareTo`方法对这些对象进行排序。 在`ConsoleApplication12`这个示例项目中,可能包含以下代码: ```csharp ...

    C++泛型用法_.docx

    在C++中,模板类类似于上述描述的`List&lt;T&gt;`,它定义了一个通用的类结构,可以用于各种数据类型。`T`在这里是一个类型参数,代表用户在实例化模板时将要替换的具体类型。例如,`List&lt;int&gt;`表示一个处理整数的列表,而...

    java对象排序

    List&lt;MyObject&gt; list = ...; // 初始化并填充list Collections.sort(list); // 或者 Collections.sort(list, comparator); ``` - **Arrays.sort()**:这个方法用于数组排序,包括原始类型数组和对象数组。对象数组...

    Java对List对象进行排序_.docx

    这里介绍的是一种利用Java反射机制实现的通用排序方法。 首先,反射机制允许我们在运行时获取类的信息,包括类的字段(成员变量)和方法。通过`Class.getDeclaredField()`方法,我们可以获取到指定名称的字段。由于...

    Controller对请求封装和返回

    public ResponseEntity&lt;List&lt;User&gt;&gt; getUsers(@Validated RequestObject request) { validateRequestParams(request); try { List&lt;User&gt; users = userService.getAllUsers(); return buildSuccessResponse...

    List 对象属性排序

    * 通用排序方法 * @param list 需要排序的List * @param method 对象属性的获取方法名称 * @param sort 排序方式:desc(降序)或asc(升序) */ @SuppressWarnings({"unchecked", "rawtypes"}) public void ...

    freemarker总结

    除了无法访问它的大小和不能使用索引来获得它的子变量:集合可以看作只能由&lt;#list...&gt;指令使用的受限sequences。 5、 方法:通过传递的参数进行计算,以新对象返回结果 方法变量通常是基于给出的参数计算值在数据...

Global site tag (gtag.js) - Google Analytics