专业的JAVA编程教程与资源

网站首页 > java教程 正文

我来了,久违的java8!(我来了,久违的java8!怎么处理)

temp10 2024-09-03 04:21:09 java教程 77 ℃ 0 评论

前言:

Java8已经发布很久了,但是它的新特性想必也是鲜为人知。

我来了,久违的java8!(我来了,久违的java8!怎么处理)

//最简单的一句:

 Arrays.asList( "刘备", "关羽", "张飞" ).forEach(System.out::println);

或则

 Arrays.asList( "刘备", "关羽", "张飞" ).forEach(e -> System.out.println( e ) );

都可以输出结果如下:

毋庸置疑,Java 8是Java自Java 5发布之后的一个很重要的梯度型版本。这个版本主要是涵盖了库、工具、语言、JVM和编译器等方面的十多个新特性。这里我们就调其中的一个Lambda表达式作为一个切入点简单聊下:


正文:

1. 新建实体类Sanguo.java

Sanguo.java完整代码如下:

package com.yixin.hydra.test;
 
import lombok.Data;
 
import java.io.Serializable;
 
/**
 * @package: com.yixin.hydra.test
 * @description: 三国实体类
 * @author: IT讲坛
 * @create: 2018-11-22 11:24
 **/
@Data
public class Sanguo implements Serializable {
 private static final long serialVersionUID = -4407341274877877134L;
 private String name;
 private int sex;
 private int age;
 public Sanguo(){
 
 }
 public Sanguo(String name,int sex,int age){
 this.name=name;
 this.age=age;
 this.sex=sex;
 }
}

2. 新建测试类LambdaTest.java

完整的LambdaTest.java代码如下:

package com.yixin.hydra.test;
 
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
 
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
 
/**
 * @package: com.yixin.hydra.test
 * @description: lambda
 * @author: IT讲坛
 * @create: 2018-11-22 11:18
 **/
@Slf4j
public class LambdaTest {
 public static void main(String []args){
 
// //最简单的一句:
// Arrays.asList( "刘备", "关羽", "张飞" ).forEach(System.out::println);
//
// Arrays.asList( "刘备", "关羽", "张飞" ).forEach(e -> System.out.println( e ) );
 //新建实体类
 Sanguo sanguoLiu=new Sanguo("刘备",1,29);
 Sanguo sanguoGuan=new Sanguo("关羽",0,26);
 Sanguo sanguoFei=new Sanguo("张飞",1,22);
 //以前的遍历方式
 List<Sanguo> sanguoList=new ArrayList<>();
 sanguoList.add(sanguoFei);
 sanguoList.add(sanguoGuan);
 sanguoList.add(sanguoLiu);
 for (Sanguo sanguo:sanguoList) {
 log.info(JSONObject.toJSONString(sanguo));
 }
 
 
 }
}

输出结果:

运用了Lambda之后

//输出list里面全部的人物信息
 sanguoList.forEach(sanguo-> {
 log.info(JSONObject.toJSONString(sanguo));
 });
 //输出年龄大于22的人物信息
 sanguoList.stream().filter(sanguo -> sanguo.getAge()>22).forEach(sang -> {
 log.info(JSONObject.toJSONString(sang));
 });

输出结果:

Java8还有很多新特性,比如java对Base64编码的支持已经加入到Java 8官方库里面,这样java开发者,就无需依赖第三方库就可以进行Base64的编解码。其他的新特性希望有兴趣的同学能够继续深入探讨,这里不做过多的讲解。

私信回复(学习)获取最新技术干货。每天都有更新。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表