一、option和optional的区别
区别就是optional是名词option的形容词形式。
option中文意思是n.可选择的事物;选择,选择权;(将来的)买卖选择权利,期权;(计算机程序中的)选项;<英>选修课;(购买新设备,尤其是汽车时提供的)附件,配件
Thisoptionispreferabletoanyother.这个选择比其他任何一个都好。
optional中文意思是adj.可选择的,选修的
Optionalextrasincludecookingclassesatatoprestaurant.可选的额外之物包括一家高级餐馆的烹饪课程。
二、optional如何创建一个实例
假设有个导入模版定义如下:
packagecom.zwwhnly
创建Optional实例有以下3种方式,分别为:
调用empty方法
Optional<ImportTemplate>optionalImportTemplate=Optional.empty();
调用of方法
ImportTemplateimportTemplate=newImportTemplate(1,"销售订单-普通商品导入模版","o_w-140e3c1f41c94f238196539558e25bf7",null);
Optional<ImportTemplate>optionalImportTemplate=Optional.of(importTemplate);
调用ofNullable方法(推荐)
ImportTemplateimportTemplate=newImportTemplate(1,"销售订单-普通商品导入模版",
"o_w-140e3c1f41c94f238196539558e25bf7",null);
Optional<ImportTemplate>optionalImportTemplate=Optional.ofNullable(importTemplate);
值得注意的是,当参数为null时,调用of方**抛NullPointerException异常,但调用ofNullable方法不会(更符合使用场景),因此推荐使用ofNullable方法:
ImportTemplateimportTemplate=null;
Optional<ImportTemplate>optionalImportTemplate=Optional.of(importTemplate);
三、Doonlinehomework(optional)中文
Doonlinehomwork(optional),中文意思是:做在线家庭作业(有选择的)
关于optional到此分享完毕,希望能帮助到您。