JAVA Optional类用法分享
Optional在JAVA中被定义为一个容器类,更确切的说只存一个元素的容器。
containerobjectwhichmayormaynotcontainanon-nullvalue.
Optional类结构Optional属性
Optional类中包含两个属性:
类属性:EMPTY对象属性:value
EMPTY属性用来存放一个value为null的Optional对象。
value属性用来存放非null对象。
Optional方法
Optional的有两个构造方法,都被private修饰。
privateOptional(){
this.value=null;
}
privateOptional(Tvalue){
this.value=Objects.requireNonNull(value);
}
无参构造方法用来初始化EMPTY。有参构造方法用来初始化非null对象。
因为构造方法被修饰为私有的,Optional想要实例化对象只能通过类方法调用。Optional提供三个类方法。
empty:返回value为null的Optional对象of:返回value非null的Optional对象ofNullable:value的值根据参数是否为null返回对应的Optional对象
publicstaticOptional empty(){ Optional t=(Optional )EMPTY; returnt; } publicstatic Optional of(Tvalue){ returnnewOptional<>(value); } publicstatic Optional ofNullable(Tvalue){ returnvalue==null?empty():of(value); }
实例方法介绍
| 方法 | 参数类型 | 返回类型 | 说明 |
|---|---|---|---|
| get | 无 | T | value为null抛出NoSuchElementException异常 |
| isPresent | 无 | boolean | |
| ifPresent | Consumer | void | |
| filter | Predicate | Optional |
|
| map | Function | Optional | |
| flatMap | Function> | Optional | |
| orElse | T | T | |
| orElseGet | Supplier | T | |
| orElseThrow | Supplier |
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短