一个list里面装了一个个class,我要按找这个class的一个属性name排序,把他显示在selectlist里,怎么弄?
option里的value放class的code值,显示是name

解决方案 »

  1.   

    list哪里来的嘛...如果从数据库查询出来的话,在查询的时候排一下序嘛
      

  2.   

    把你要排序的类,实现Comparator接口,然后使用
    Collections.sort就可以
      

  3.   

    把你要排序的类,实现Comparator接口的compare方法,比如使用class的name属性来比较大小
    然后使用 Collections.sort就可以
      

  4.   

    把放到LIST里面的类实现Comparator接口
      

  5.   

    你写的类可以默认实现Comparable接口,也可如5楼说的那样,
    用Collections.sort
      

  6.   


    要排序的类,不实现Comparator接口也可以啊。自己写一个实现了Comparator接口的类a,调用Collections.sort时把a的一个对象作为参数就行了
      

  7.   

    Comparator SORT_BY_YOUR_FIELD = new Comparator(){
        public int compare(Object o1, Object o2) {
    YourClass item1 = (YourClass ) o1;
    YourClass item2 = (YourClass ) o2;
                            // 这个具体可以参考你实际类型。
                            Object field1 = item1.getField1();
                            Object field2 = item2.getField2();
                            // 需要在这加入对null的判断逻辑,比如如果null返回-1
    return field1.compareTo(field2);
        }};
    }排序时,
    Collections.sort(yourList);