在程序开发中经常会出现由于null所带来的NullPointerException异常,所以从JDK 1.8开始引入了java.util.Optional类,利用此类可以实现null类型的提前判断与处理,合理的使用此类可以减少项目中NullPointerException异常的出现
import java.util.Optional;
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
Optional<IMessage> opt = MessageUtil.getMessage() ; // 获取实例
if (opt.isPresent()) {// 对象实例存在
IMessage temp = opt.get() ; // 获取数据
MessageUtil.useMessage(temp);
}
}
}
class MessageUtil {
private MessageUtil() {}
public static Optional<IMessage> getMessage() { // 返回实例化对象
return Optional.of(new MessageImpl()) ; // 保存非空对象
}
public static void useMessage(IMessage msg) {// 使用消息
System.out.println(msg.getContent()); // 输出信息
}
}
interface IMessage {// 定义接口
public String getContent() ; // 返回数据内容
}
class MessageImpl implements IMessage {// 接口实现子类
@Override
public String getContent() {
return "www.mldn.cn";
}
}