前言:
现时兄弟们对“java省市级联”大约比较着重,各位老铁们都需要分析一些“java省市级联”的相关文章。那么小编同时在网上网罗了一些对于“java省市级联””的相关内容,希望大家能喜欢,朋友们快快来了解一下吧!Dart 语言中有一个级联操作符,也就是两个句点(..),可以使用单个对象来级联调用多个方法。
比如,下面的代码多次调用 myTokenTable 的 add 方法,需要重复使用 myTokenTable 对象。
myTokenTable.add("aToken");myTokenTable.add("anotherToken");// many lines elided here// and here // and on and onmyTokenTable.add("theUmpteenthToken");
在使用级联操作符之后,可以简化成下面这样的写法。用(..)替换了 myTokenTable 的重复使用。
myTokenTable ..add("aToken"); ..add("anotherToken");// many lines elided here// and here // and on and on ..add("theUmpteenthToken");
看到这里,熟悉的人一眼就看出来了,这是标准的构建器(Builder)模式的应用。只需要每一个方法返回当前的对象自身,就可以很方便地级联起来。Lombok 的注解 @Builder 可以自动生成这样的代码。
TokenTable add(String token) { return this;}
但是有一个限制条件,那就是你必须能够修改这些代码。如果是第三方库中的对象,或者有其他限制导致不能返回当前对象,这种做法就不能生效了。
个人觉得这样的级联操作符还是有价值的。如果能够增加一个 null 安全的访问操作符就更好了。类似 (?.) 这样的。只有当对象不为 null 的时候,才执行后面的代码。这样可以避免很多不必要的空指针异常。
Kotlin 已经实现了类似的功能,虽然不是通过操作符来完成的。但可以为方法调用设置一个隐式的上下文对象。
val myObject = Address().apply { setRecipient("Joe Smith") addLine("123 Fake Street") setCity("Fakeville") setCountry("Fakamy") setZipcode("123456")}
希望级联操作符和 null 安全的访问操作符有一天能进入到 Java 中。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #java省市级联