
jdk1.8
文章平均质量分 66
yonyou_xyl
这个作者很懒,什么都没留下…
展开
-
方法引用:双冒号“::”
其实,JVM 本身并不支持指向方法引用,过去不支持,现在也不支持。Java 8 对方法引用的支持只是编译器层面的支持,虚拟机执行引擎并不了解方法引用。编译器遇到方法引用的时候,会像上面那样自动推断出开发者的意图,将方法引用还原成接口实现对象,或者更形象地说,就是把方法引用设法包装成一个接口实现对象,这样虚拟机就可以无差别地执行字节码文件而不需要管什么是方法引用了。需要注意的是,方法引用是用来简化接口实现代码的,并且凡是能够用方法引用来简化的接口,都有这样的特征:有且只有一个待实现的方法。转载 2023-03-24 17:30:43 · 350 阅读 · 0 评论 -
jdk1.8 Optional
/ true:person1不为空 false:person1为空。// orElse 如果对象不是空,返回Optional容器中的值,否则返回orElse中的值。// 需要注意方法返回类型需要和orElse函数表达式返回的类型一致!//需注意如果返回的是空Optional使用get()方法会出错!//ofNullable 可以接受任何对象(空或者非空)//get 返回optional容器中的数据。//isPresent 判断容器中对象是否为空。//如果 person1=null;原创 2023-03-24 17:28:28 · 213 阅读 · 0 评论 -
jdk1.8 Lambda 实战
我们用常用的实例来感受 Lambda 带来的便利。过去给方法传动态参数的唯一方法是使用内部类。原创 2023-03-24 14:33:13 · 159 阅读 · 0 评论 -
Java8之list.stream的常见使用
Integer sum = list1.stream().filter(student -> student.sex.equals("男")).mapToInt(Student::getAge).sum();List<Student> l1 = list1.stream().filter(student -> student.getSex().equals("男")).collect(toList());list1.add(new Student("赵一", "男", 18));转载 2023-03-24 14:26:23 · 288 阅读 · 0 评论 -
jdk1.8 java.util.stream
/ 13 12System.out.println("年龄加一:" + user.getAge());});原创 2023-03-24 14:04:08 · 384 阅读 · 0 评论 -
jdk1.8 接口default static测试
新 interface 的方法可以用default 或 static修饰,这样就可以有方法体,实现类也不必重写此方法。这也留有一点遗憾,Interface 修改的时候,实现它的类也必须跟着改。//一个 interface 中可以有多个方法被它们修饰,这 2 个修饰符的区别主要也是普通方法和静态方法的区别。//1、default修饰的方法,是普通实例方法,可以用this调用,可以被子类继承、重写。System.out.println("interface提供的方式实现");原创 2023-03-24 13:40:19 · 222 阅读 · 0 评论 -
jdk1.8 java.time 包测试
System.out.println("date1 到 date2 相隔:" + period.getYears() + "年" + period.getMonths() + "月" + period.getDays() + "天");//// 日期+时间 format: yyyy-MM-ddTHH:mm:ss.SSS。//报错 识别不了空格。System.out.println("毫秒数:" + date.getTime() + ", 东京时间:" + tokyoSdf.format(date));原创 2023-03-24 11:21:29 · 287 阅读 · 0 评论