0
点赞
收藏
分享

微信扫一扫

Java jdk1.8引入的Optional容器类

醉倾城1 2022-04-13 阅读 38

 

package com.chen;

import java.util.Optional;

/**
 * Optional JDK1.8容器类
 * @author 11010
 *
 */
public class OptionalDemo {

	public static void main(String[] args) {
		
		//创建Optional对象的方式
		Optional<String> optional=Optional.of("yan");
//		Optional<String> optional2=Optional.ofNullable("yan");
		Optional<String> optional3=Optional.empty();
		
		System.out.println(optional.isPresent());
		System.out.println(optional.get());
		
		optional.ifPresent((value)->System.out.println(value));
		System.out.println(optional.orElse("没有"));
		
		System.out.println(optional.orElseGet(()->"default"));
		
//		try {
//			optional3.orElseThrow(Exception::new);
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
		
		
		Optional<String> optional4 = optional.map((value)->value.toUpperCase());
		System.out.println(optional4.orElse("NotFound"));
		
		optional4 =optional.flatMap((value)->Optional.of(value.toUpperCase()+"flatMap"));
		System.out.println(optional4.orElse("NotFound"));

		
		optional4 = optional.filter((value)->value.length()>3);
		System.out.println(optional4.orElse("这个值的长度小于3"));
	}

}

 

举报

相关推荐

0 条评论