java1.8-Optional实例

java1.8-Optional

Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。

Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。

Optional 类的引入很好的解决空指针异常。

例子:

package com.yzy.java8;

import java.util.Optional;

public class Java8OptionalTest {
	 
	public static  boolean pdNull(T str) {
		//允许null
		Optional o = Optional.ofNullable(str);
		System.out.println("传参:"+o.orElse((T)str ));
		return o.isPresent();
	}
	public static  boolean pd(T index) {
		//不允许null
		Optional  o1 = null;
		try {
			 o1 = Optional.of(index);
			 System.out.println("传参:"+index);
		}catch(NullPointerException e){
			System.out.println("传参:"+index);
			return false;
		}
		return o1.isPresent();
	}
	public static void main(String[] args) {

		String str = null;
		String str1 = "yzy";
		System.out.println("用允许空值Optional实例方式判断数据是否为null:【无值】---"+pdNull(str));
		System.out.println("用允许空值Optional实例方式判断数据是否为null:【有值】---"+pdNull(str1));
		System.out.println("用不允许空值Optional实例方式判断数据是否为null:【无值】---"+pd(str));
		System.out.println("用不允许空值Optional实例方式判断数据是否为null:【有值】---"+pd(str1));

	}

}

效果:

java1.8-Optional实例_第1张图片 

 

你可能感兴趣的:(JAVA)