• 103768

    文章

  • 803

    评论

  • 12

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

jdk8中Optional使用

撸了今年阿里、腾讯和美团的面试,我有一个重要发现.......>>

1.首先定义2个实体类,并设置get,set方法

public class Employee {

    private String name;

    public Employee(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
public class Company {

    private String name;

    private List<Employee> employeeList;


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<Employee> getEmployeeList() {
        return employeeList;
    }

    public void setEmployeeList(List<Employee> employeeList) {
        this.employeeList = employeeList;
    }
}

2.编写测试类,杜绝使用传统方试使用Optional

public class OptionalTest {


    public static void main(String[] args) {

        Optional<String> optional = Optional.of("hello");

//        if(optional.isPresent()){
        //传统方式使用Option
//            System.out.println(optional.get());
//        }

        //推荐Option使用方式
        optional.ifPresent(item-> System.out.println(item));

        Optional<String> optional2 = Optional.empty();
        optional2.ifPresent(item-> System.out.println(item));//为空就不执行也不报错


        System.out.println(optional.orElse("world"));
        //为空就不执行也不报错

        System.out.println(optional.orElseGet(()->"nihao"));


        Optional<String> optional3 = Optional.ofNullable("hello3");
        optional3.ifPresent(item-> System.out.println(item));
        //返回空集合  不要返回null

    }

}

3.编写测试类,处理List类型数据

public class OptionalTest2 {

    public static void main(String[] args) {

        Employee employee = new Employee("zhangsan");
        Employee employee2 = new Employee("lisi");

        Company company = new Company();
        company.setName("company1");//如果注释该行代码,系统不会报错

        List<Employee> list = Arrays.asList(employee,employee2);
        company.setEmployeeList(list);

        Optional<Company> optional = Optional.ofNullable(company);

        System.out.println(optional.map(
                theCompany->theCompany.getEmployeeList()).orElse(Collections.emptyList()));

    }

}

 


695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

0条评论

Loading...


自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客