模仿sql查询,设计。
sql中经常用到排序 例如: select * from emp order by filed1 asc , filed2 asc , filed3 desc ;
现在有一个类 Entity 它有 三个属性 int filed1 , int filed2 , int filed3 .
如果给一个 Entity[] entitys 集合给你 ,
然后按照指定的顺序进行排序 ,
比如 :
filed1 升序 filed2 降序 filed3 升序
或者
filed1 降序
或则
filed3 升序 filed2 降序
你要怎么实现? 还有 ,当Entity属性越来越多时 又要怎么做? 要通用一点。
------解决方案--------------------
我的感觉是做一个排序类,里面放若干排序参数,你要几个排序参数,就取几个参数排,用这种1,2,3命名的反而容易让人晕.
------解决方案--------------------
闲来无事帮你写的一个
简单的annotation来表明升序还是降序
Java code
import java.lang.annotation.*;
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Sort {
String order() default "ASC";
}