每日总结(2021-04-23)

本文探讨了Java接口的特性,包括接口中的成员变量默认为public static final常量和抽象方法。同时,介绍了如何在接口中嵌套接口,以及如何使用示例。另外,文章详细阐述了Optional类的作用,它用于解决空指针异常问题,提供了更安全的值获取方式,如使用map和orElseThrow方法。通过对老式和新式代码的对比,展示了Optional如何简化和增强代码的健壮性。
摘要由CSDN通过智能技术生成

1.接口类包含接口类以及在接口中定义自变量

接口的成员特点:
A:成员变量 只能是常量。默认修饰符 public static final
B:成员方法 只能是抽象方法。默认修饰符 public abstract

public interface Person{
	Integer age = 18;
	String name = "apple";//接口里面定义的成员变量默认修饰符 public static final

	String getUserName();

接口中包含接口类

public interface TaskConstant {

    interface TaskStatus {
        Integer ENABLED = 1; //启用
        Integer DISABLE = 0; //废止
        //执行方式
        Integer MANUAL = 0;//手动
        Integer AUTO = 1;//自动
    }

    interface Task {
        //任务审核状态
        Integer NO_CHECK = 201;  //待审核
        Integer PASS = 200; //审核通过
        Integer NO_PASS = 500;//审核不通过
        //任务状态
        Integer NO_START = 0;//未开始
        Integer ONGOING = 1;//进行中
        Integer OVERTIME = 2;//超时
        Integer FINISH_OVERTIME = 3;//已完成(超时)
        Integer FINISH_ONTIME = 4;//已完成(按时)
        Integer CLOSE = 5;//关闭
        Integer SUBMIT = 6; // 待提交

    }
}

运用

TaskConstant.TaskStatus.ENABLED //值为 Integer ENABLED = 1; 

2.Optional

Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException)。这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空
Optional详解
引出问题:Optional类与使用==判断null有什么区别?

//老写法
public String getCity(User user)  throws Exception{
        if(user!=null){
            if(user.getAddress()!=null){
                Address address = user.getAddress();
                if(address.getCity()!=null){
                    return address.getCity();
                }
            }
        }
        throw new Excpetion("取值错误"); 
    }

新写法

public String getCity(User user) throws Exception{
    return Optional.ofNullable(user)
                   .map(u-> u.getAddress())
                   .map(a->a.getCity())
                   .orElseThrow(()->new Exception("取指错误"));
}

常用方法
常用方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值