您现在的位置是:寸木岑楼网 > 阚杰
中老边境磨憨口岸通关第一批110吨老挝中药材
寸木岑楼网2025-03-05 08:24:30【阚杰】1人已围观
简介中老write_ad(menu_tags_up_button);CNMO_AD.init();【CNMO科技音讯】红米REDMI旗下的K80系列新机现已上市并取得了开门红。
中老write_ad(menu_tags_up_button);CNMO_AD.init();【CNMO科技音讯】红米REDMI旗下的K80系列新机现已上市并取得了开门红。
总结经过合理运用Java8的Optional类,边境咱们开发者能够有用削减NullPointerException的产生,进步代码的健壮性和可维护性。把握Optional的运用技巧和最佳实践,磨憨将有助于编写更安全、高雅的Java代码,真实做到善用Optional,离别NPE。
publicclassUser{privateAddressaddress;publicAddressgetAddress(){returnaddress;}}publicclassAddress{privateCitycity;publicCitygetCity(){returncity;}}publicclassCity{privateStringname;publicStringgetName(){returnname;}}运用传统方法处理NPE在没有运用Optional的情况下,口岸获取城市称号或许需求多级null查看:口岸publicStringgetUserCityName(Useruser){if(user!=null){Addressaddress=user.getAddress();if(address!=null){Citycity=address.getCity();if(city!=null){returncity.getName();}}}returnUnknown;}上述代码层层嵌套,逻辑杂乱,且易于遗失某一级的null查看。能够说自Null的诞生以来它就让很多的程序员为之哀嚎,通关也是很多体系Bug的来历。例如:第吨老Stringstr=null;intlength=str.length();//这里会抛出NPE1.1、NPE的常见原因未初始化的目标:变量声明后未赋值,即默以为null。
而且代码也不容易阅览运用Optional简化代码运用Optional,挝中能够将多级null查看转化为链式调用,挝中代码愈加简洁明了:publicStringgetUserCityName(OptionaluserOptional){returnuserOptional.map(User::getAddress).map(Address::getCity).map(City::getName).orElse(Unknown);}另一个实例:处理办法回来值假设有一个办法findUserById,或许回来一个User目标或null。2、药材Optional库介绍为了应对NPE问题,Java8引入了Optional类,它是一个容器目标,能够包括或不包括非null的值。
2.1、中老Optional的根本用法创立Optional目标Optionaloptional=Optional.of(Hello);//创立包括值的OptionalOptionalemptyOptional=Optional.empty();//创立空的OptionalOptionalnullableOptional=Optional.ofNullable(null);//能够承受null获取值//运用get()获取值,中老假如为空则抛出NoSuchElementExceptionoptional.get();//运用orElse()供给默认值Stringvalue=optional.orElse(Default);//运用orElseGet()供给默认值的SupplierStringvalue=optional.orElseGet(()->Default);//运用orElseThrow()在值为空时抛出反常Stringvalue=optional.orElseThrow(()->newIllegalArgumentException(Valueisnull));处理值//运用ifPresent()在值存在时履行操作optional.ifPresent(val->System.out.println(val));//运用map()转化值OptionallengthOptional=optional.map(String::length);//运用flatMap()处理嵌套的OptionalOptionalnestedOptional=Optional.of(Optional.of(Nested));OptionalflatOptional=nestedOptional.flatMap(opt->opt);2.2、Optional的优势清晰的目的:办法回来Optional标明回来值或许为空,增强代码的可读性。
publicOptionalfindUserById(StringuserId){Useruser=userRepository.findById(userId);//或许回来nullreturnOptional.ofNullable(user);}调用方能够这样运用:边境findUserById(12345).map(User::getAddress).map(Address::getCity).map(City::getName).ifPresent(cityName->System.out.println(Usercity:+cityName));假如User不存在或其地址、边境城市信息为null,上述代码不会履行ifPresent中的打印操作,避免了NPE的危险。该博主此前还暗示,磨憨小米15Ultra装备了容量高达6000mAh的超大电池,是小米史上电池容量最高的Ultra系列机型,一起支撑90W有线快充与50W无线快充。
用户只需进入斗极短信界面,口岸填写收件人及内容后点击发送,即可完结信息传递。据数码博主@数码闲谈站的爆料,通关小米15Ultra将搭载双卫星通信技能,这项功用仅限于这款超大杯机型,其他机型都是惯例5G手机
这一立异大幅提高了专业规划师和构思人士的工作效率,第吨老减少了逐条输入的繁琐操作。该功用现在仅对IdeogramPro用户敞开,挝中展示了AI在规划范畴的巨大潜力和智能化的创造方法。
很赞哦!(6944)
下一篇: 港股三大指数齐升 轿车股大都上涨
寸木岑楼网的名片
职业:程序员,设计师
现居:福建宁德周宁县
工作室:小组
Email:327740547@400.com