Java8 Optional 상세 정보
6612 단어 Optionaljava8 새로운 기능프로젝트 실전
정적 방법:
Optional.of (T) 는 Optional 패키지의 대상을 되돌려줍니다. 전송된 파라미터가 비어 있으면 빈 포인터 이상을 던집니다.
Optional.ofNullable (T) 는 Optional 패키지의 대상을 되돌려줍니다. 파라미터가 비어 있으면 비어 있는 Optional 대상을 되돌려줍니다.
Optional.empty()가 빈 Optional 객체로 반환됩니다.
인스턴스 메서드:
isPresent () 가 존재하는지 여부입니다. 값이 비어 있으면false를 되돌려줍니다. 그렇지 않으면true를 되돌려줍니다.
get () 값이 되돌아오는 값이 있습니다. 그렇지 않으면 이상을 던집니다.
map () 값이 존재하는 경우 사용자 정의 방법을 실행합니다. 매개 변수는 값이고, 임의의 형식의 대상이 될 수 있습니다.
filter () 값이 존재하는 경우 사용자 정의 방법을 실행합니다. 매개 변수는 값이고,true 또는false로 되돌아옵니다.
flatMap () 은 맵 방법과 기본적으로 일치합니다. 다른 것은 되돌아오는 형식은 가치 있는 형식일 뿐입니다.
코드는 다음과 같습니다.
package com.example.thread;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Optional;
import java.util.Random;
public class OptaionalTest {
private static Logger logger = LoggerFactory.getLogger(OptaionalTest.class);
public static void main(String[] args) {
OptaionalTest obj = new OptaionalTest();
Optional optional = obj.getNum();
logger.info("optional.isPresent():" + optional.isPresent());
optional.ifPresent((val1) -> {//
logger.info("optional.ifPresent():" + optional.get());
logger.info("optional.get():" + optional.get());
String map = optional.map((intVal) -> (intVal + 1000) + "").get();//map .
logger.info("optional.map():" + map);
optional.filter((intVal) -> {//
if (intVal > 25) {
logger.info("optional.filter()>25:" + intVal);
return true;
}
logger.info("optional.filter()<=25:" + intVal);
return false;
});
Optional a = optional.flatMap((intVal) -> Optional.ofNullable(intVal + 1));// Optional
});
logger.info("optional.orElse:" + optional.orElse(1));
logger.info("" + optional.orElseGet(() ->
{
logger.info("optional.orElseGet:" + -1);
return -1;
}));
}
Optional getNum() {
Integer num = new Random().nextInt(100);
if (num < 50) {
return Optional.empty();
}
return Optional.of(num);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java8 Optional 상세 정보Java8에서는 빈 값에 대한 작업 클래스를 제공합니다.Optional.다음은 그의 방법을 소개한다. 정적 방법: Optional.of (T) 는 Optional 패키지의 대상을 되돌려줍니다. 전송된 파라미터가 비어...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.