关注分享主机优惠活动
国内外VPS云服务器

Java中的可选类(可选类的方法)

工具类的基本概念类使用对象创建的常用方法。基本概念类是一个容器对象,可用于。它可以保存指定类型的值,也可以只保存一个值或为提供许多方法以避免显式检查空值。如果该值存在,调用方法将返回,调用方法将返回。该对象类没有子类。

可选工具类的基本概念:使用Optional对象创建ofnullableoptional的常用方法是presentgetorelsegotorelsegotorelsetrowtmapflatfilterifepresentiveprsentorelseequals

基本概念可选类:Optional是一个可以为空的容器对象。您可以保存指定类型的值或空值。nullOptional中提供了值或许多方法来避免显式的空值检查。如果该值存在,调用isPresent()方法将返回true。调用get()方法返回该对象。可选类是没有子类的工具类,解决了空指针异常的问题。在使用Java 8之前,通常用if…else…来判断对象是否为空,然后进行逻辑处理。这段代码非常多余。在Java 8中,新增了可选类。使用这个类来避免空指针检查,使代码更加优雅。()方法的Optional对象创建不支持空对象optional . of(T T);ofNullable ofNullable()方法支持空对象optional . of nullable();Empty()方法可以直接创建空的可选对象Optional . empty();可选的常用方法isPresent isPresent():确定是否包含值;如果是,它将返回true如果没有,它将返回falseoptional可选= optional . empty();//false boolean optional present = optional . is present();Get():获取包含的值;如果有值,则返回该值;否则抛出nosuchelementexception:no value present异常;optional可选= optional . empty();//NoSuchElementException:No value present object o = optional . get();OrElse orElse(str):如果调用对象包含值,则返回该值;否则,参数string str message = optional.or else("可选对象的值为空!");OrElseGet orElseGet(supplier):如果调用对象包含值,则返回该值,否则返回Lambda表达式获得的值。orElseGet()和orElse()的比较:or else get()类似于or else()。只有传递的参数类型不同。orElseGet()的参数是Lambda类型,orElse()的参数是String类型。字符串值=可选。orelseget (() -> "可选对象的值为空!");或else throw或else throw(异常提供者):如果调用对象包含值,则返回该值;否则,异常字符串value = optional . else throw(()-> new runtime execution("可选对象中的值不存在!"));Map():如果被调用的对象有一个值,它将被处理,处理后的可选对象将被返回。否则Optional.empty()Optional中的map()方法类似于Stream flow中的map()方法,可用于类型转换等操作。可选map = optional . map(P-> p . getname());FlatMap flatMap():如果被调用的对象有值,则执行映射函数返回可选类型的值。否则,返回空的可选对象Optional.empty()flatMap()和Map()。比较:flatmap()和map()方法类型在可选,唯一的区别是映射的返回值不同。map()方法的映射函数的返回值可以是任何类型的对象。在map()方法返回之前,它将被包装成一个可选对象。flatMap()方法的映射函数的调用对象必须是可选对象。调用后,结果不会用flatMap()中的Optional封装。// map()方法可选map = optional . map(P-> p . getname());// flatMap()方法可选flat map = optional . flat map(P-> optional . of(p . getname()));Filter filter(谓词):通过传入的predict限定条件过滤可选对象中的值。如果可选对象中有值,并且满足预测筛选条件,则将返回包含这些值的可选对象。否则,空可选对象optional . empty()string filter = optional . filter(S-> s . length > 0)。否则("可选对象中的值不存在!");IfPresent ifPresent(consumer):如果被调用的对象包含值,则用对象的值调用消费者处理。否则,不做任何可选操作。如果存在(系统。out::println);ifsentorelse ifpresenterless():Java 9之后的方法。如果被调用的对象包含值,则使用该对象的值调用使用者。否则,执行用户定义的Runnable操作可选。if presenter less((str)-> system.out.println(str . toupper case()),()-> system . out . println("可选对象中的值不存在!"));Equals equals():确定其他对象是否等于可选对象。boolean flag = optional . equals(obj);

未经允许不得转载:主机频道 » Java中的可选类(可选类的方法)

评论 抢沙发

评论前必须登录!