JAVA - 【Optional】辅助防止空指针异常

Optional是JDK1.8新增的类,在JDK1.8之前一般某个函数应该返回非空对象,但是偶尔会返回null,在JDK1.8中,不推荐直接返回该对象,返回之前需要进行处理;

☞ 关键:Optional.ofNullable(s).get()



  • 一般情况

由于对象元素没有初始化,运行会直接在s.getName处报空指针异常,但是究竟是哪一个deal造成的空指针异常?

 

public class Main{
	public static void main(String[] args) {
		
		Student s = new Student();
		s = deal1(s);
		s = deal2(s);
		s = deal2(s);
		String name = s.getName();
		System.out.println(name);
	}
	
	public static Student deal1(Student s){
		s = null;
		return s;
	}
	public static Student deal2(Student s){
		s = null;
		return s;
	}
	public static Student deal3(Student s){
		s = null;
		return s;
	}
}
  • Optional优化

     

import java.util.Optional;

public class Main{
	public static void main(String[] args) {
		
		Student s = new Student();
		s = deal1(s);
		s = deal2(s);
		s = deal2(s);
		String name = s.getName();
		System.out.println(name);
	}
	public static Student deal1(Student s){
		s = null;
		return Optional.ofNullable(s).get();
	}
	public static Student deal2(Student s){
		s = null;
		return Optional.ofNullable(s).get();
	}
	public static Student deal3(Student s){
		s = null;
		return Optional.ofNullable(s).get();
	}
}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章