用Java返回排序列表
发布时间:2020-12-15 05:20:21 所属栏目:Java 来源:网络整理
导读:我正在编写这样的代码: ListBean beans = service.findBeans();Collections.sort(beans,new BeanComparator());return beans; 它完美地运作.我正在寻找的只是一行的快捷方式: return somelibrary.Collections.sort(service.findBeans(),new BeanComparator
我正在编写这样的代码:
List<Bean> beans = service.findBeans(); Collections.sort(beans,new BeanComparator()); return beans; 它完美地运作.我正在寻找的只是一行的快捷方式: return somelibrary.Collections.sort(service.findBeans(),new BeanComparator()); 要么: return somelibrary.newList(service.findBeans(),new BeanComparator()); 请注意,它需要一个可变列表. 解决方法
这是一行:
List<Bean> beans = service.findBeans(); Collections.sort(beans,new BeanComparator()); return beans; 但更严重的是,Java并不是单行的正确语言.而且,仅仅因为某种东西是单线并不意味着它更好.例如,我最初惊讶地发现这个: return condition ? a : b; 创建比…更长的字节码 if( condition ) return a; else return b; 但这就是语言和编译器的方式. 如果你坚持你的单线,Guava的 return Ordering.from( new BeanComparator() ).sortedCopy( service.findBeans() ); 返回的列表是可修改的,可序列化的,并具有随机访问权限. 效率方面我认为在开销方面存在一些浪费.此外,您现在依赖于第三方库.你本质上是使用非常强大的工具来完成一项非常简单的任务.如果您正在使用它,那就太过分了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |