ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Optional常用方法实例, 源码挺简单的,重要的是option 与 stream 以及lamb
[打印本页]
作者:
忿忿的泥巴坨
时间:
2024-2-3 23:44
标题:
Optional常用方法实例, 源码挺简单的,重要的是option 与 stream 以及lamb
Optional
static methods:
Optional.ofNullable();
Optional.empty();
Optional.of();
复制代码
empty():
public static<T> Optional<T> empty() {
@SuppressWarnings("unchecked")
Optional<T> t = (Optional<T>) EMPTY;
return t;
//返回一个空的Optional
}
//等同于 Optional.of(null);
复制代码
of()
// 非null 就继续执行 否则抛异常
public static <T> Optional<T> of(T value) {
return new Optional<>(Objects.requireNonNull(value));
}
public static <T> T requireNonNull(T obj) {
if (obj == null)
throw new NullPointerException();
return obj;
}
复制代码
ofNullable
()
public static <T> Optional<T> ofNullable(T value) {
return value == null ? (Optional<T>) EMPTY
: new Optional<>(value);
}
//与of 一致的原理 只是少去了抛异常
复制代码
instance methods
get() //非null就get 否则异常
public T get() {
if (value == null) {
throw new NoSuchElementException("No value present");
}
return value;
}
复制代码
isPresent 与 isEmpty
public boolean isPresent() {
return value != null;
}
public boolean isEmpty() {
return value == null;
}
复制代码
ifPresent
[code]public void ifPresent(Consumer
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4