在java中有时候需要一些匿名对象的使用。可能有些小伙伴拿还不会创造,其实我们在学习一些方法时都或多或少的接触过。本篇所要讲到的创造匿名对象总结了两种方法,分别是静态工具方法和Lambda表达式,我们会在下文中为大家进行分析和实例代码展示,一起来看看吧。

1、静态工具方法

Collections.sort接受一个list,和一个Comparator接口作为输入参数,Comparator的实现类可以对输入的list中的元素进行比较。通常情况下,你可以直接用创建匿名Comparator对象,并把它作为参数传递给sort方法。List names = Arrays.asList("peter", "anna", "mike", "xenia");

Collections.sort(names, new Comparator() {

@Override

public int compare(String a, String b) {

return b.compareTo(a);

}

});

2、Lambda表达式Collections.sort(names, (String a, String b) -> {

return b.compareTo(a);

});

可以看到,这段代码就比之前的更加简短和易读。但是,它还可以更加简短:Collections.sort(names, (String a, String b) -> b.compareTo(a));

只要一行代码,包含了方法体。你甚至可以连大括号对{}和return关键字都省略不要。不过这还不是最短的写法:Collections.sort(names, (a, b) -> b.compareTo(a));

Java编译器能够自动识别参数的类型,所以可以省略掉类型不写。

以上就是java创造匿名对象的两种方法,大家可以就这两种不同的方法分别进行尝试,然后选择一种适合自己的方法加强记忆。更多Java学习指路:

java 匿名list,java创造匿名对象的两种方法相关推荐

  1. java web ip_详解Java Web如何限制访问的IP的两种方法

    前一阵子因为在做项目时碰到了这个功能,现在好好总结一下,至于为什么要限制IP访问,我就不多说了.然后百度了一下,现在主要有两种方式去限制IP访问,第一种是最简单的方便的,第二种是通过过滤器来限制访问. ...

  2. java中char类型转换成int类型的两种方法

    java中char类型转换成int类型的两种方法 方法一: 第一种利用Integer包装类的方法Integer.parseInt Copychar ch = '9'; if (Character.is ...

  3. python比较两个数的和_Python中的is和==比较两个对象的两种方法

    Python中的is和==比较两个对象的两种方法 在Python中有两种方式比较两个对象是否相等,分别是is和==,两者之间是不同的 ==比较的是值(如同java中的equals方法) is比较的是引 ...

  4. 读取xml文件转成ListT对象的两种方法(附源码)

    读取xml文件转成List<T>对象的两种方法(附源码) 读取xml文件,是项目中经常要用到的,所以就总结一下,最近项目中用到的读取xml文件并且转成List<T>对象的方法, ...

  5. Java去除掉HTML里面所有标签的两种方法——开源jar包和自己写正则表达式

    Java去除掉HTML里面所有标签,主要就两种,要么用开源的jar处理,要么就自己写正则表达式.自己写的话,可能处理不全一些自定义的标签.企业应用基本都是能找开源就找开源,实在不行才自己写-- 1,开 ...

  6. Java调用打印机打印PDF文档的两种方法

    最近,由于项目需求,需要增加系统调用打印机打印PDF文档功能.以前在Asp.Net项目中做过套打,但是现在的需求直接文档打印,下面是实现代码调用打印机的两种方法. 1.Java Print Servi ...

  7. java 图片压缩100k_Java 实现图片压缩的两种方法

    问题背景. 典型的情景:Nemo社区中,用户上传的图片免不了要在某处给用户做展示. 如用户上传的头像,那么其他用户在浏览该用户信息的时候,就会需要回显头像信息了. 用户上传的原图可能由于清晰度较高而体 ...

  8. Android中Intent传递对象的两种方法(Serializable,Parcelable)

    这篇文章转自博客园 Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putPa ...

  9. android java 实体类 object变量 保存_Android中Intent传递对象的两种方法Serializable,Parcelable...

    Android中的传递有两个方法,一个是Serializable,另一个是Parcelable. Serializable是J2SE本身就支持的.而Parcelable是Android所特有的. 二者 ...

最新文章

  1. php 面对对象总结,PHP 面向对象总结
  2. PowerDesigner反向生成物理数据模型
  3. postgresql关闭自动提交
  4. python 创建子类_python创建子类的方法分析
  5. 深入Java类型信息:RTTI和反射
  6. 三元一次方程组步骤_姜红梅名师工作室【教学感悟】三元一次方程组解法的思考...
  7. vivoy27android版本,vivo Y27手机系统是什么?vivo Y27能升级安卓4.3吗?
  8. 2019年第五届计蒜之道复赛总结
  9. Windows服务器nginx多个二级域名部署ssl证书超详细步骤(https)
  10. JavaScript高级实战教程,带你深入学习JS高级应用
  11. FIR滤波器——Matlab实现
  12. 常用的计算机组装工具有,计算机组装维护与常用工具软件考试含答案
  13. 贪心算法之猴子吃香蕉(Monkeys and Bananas)
  14. HRBU_20211112训练
  15. matplotlib生成没有留白的图片
  16. 2021“创芯中国”集成电路创新挑战赛芯片测试赛项(华南赛区)正式打响
  17. 深度学习卷积算法指南
  18. ST_Intersection
  19. 墨者Bash漏洞分析溯源题解
  20. 【游戏设计笔记】游戏开发团队

热门文章

  1. 八皇后的一个回溯递归解法
  2. 计算起点地址和终点地址的最短驾车距离和驾车时间
  3. windows系统杀掉explorer.exe进程后黑屏
  4. 我是如何设计 Upload 上传组件的
  5. SQL server 基本语句
  6. Android上成功实现了蓝牙的一些Profile
  7. java静态/动态成员变量、初始化块,父类/子类构造函数执行顺序问题
  8. linux下文件字符集转化实战篇
  9. Scrapy爬取IT之家
  10. Linux I2C工具查看配置I2C设备【转】