• 68046

    文章

  • 643

    评论

  • 65

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下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()));

    }

}

 


 转载至链接:https://my.oschina.net/u/1037605/blog/3109081。

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

欢迎来到梁钟霖个人博客网站。本个人博客网站提供最新的站长新闻,各种互联网资讯。 还提供个人博客模板,最新最全的java教程,java面试题。在此我将尽我最大所能将此个人博客网站做的最好! 谢谢大家,愿大家一起进步!

转载原创文章请注明出处,转载至: 梁钟霖个人博客www.liangzl.com

0条评论

Loading...


发表评论

电子邮件地址不会被公开。 必填项已用*标注

自定义皮肤
注册梁钟霖个人博客