从 Kotlin 开发者的尺度来看,Java 缺少了什么?
发布时间:2025/11/05 12:19 来源:新浦家居装修网
① 工具箱类② 防止工具箱类重构解构③ static分析方法④ 一个简单的省略出算子,没法考量边界情形⑤ String并不一定号没法发放省略出动态⑥ 用到工具箱类来付诸该动态
而Kotlin发放了构建算子动态来补救这个疑虑。
Kotlin发放了一种分析方法,可以构建类或硬件,而不用从类进行内置,也不用用到诸如修饰器等设计模式。不须通过一种被称作“构建”的特殊表述来付诸。
例如,你可以给一个来自第三方纳的类或硬件执笔出属于自己算子,即使你不宜修改该纳。这种算子可以正常函数调用,就像它本来就仅指该类一样。这种机制被称作“算子构建”。
要表述算子构建,不须在其名称前舍弃一个数据包并不一定号,指示被构建的类。
有了算子构建,上述代UTF-就可以写出成:
fun String.capitalize2(): String { ①②return substring(0, 1).uppercase() + substring(1);}val string = randomString()val capitalizedString = string.capitalize2() ③① 孤立的算子,不必需类封装。
② Kotlin的stdlib已经有了capitalize()算子。
③ 就像函数调用String备用的算子一样函数调用构建算子。
注意构建算子就会被“静态地”类比。构建算子并不就会给有数并不一定号掺入属于自己举动,只是假装而已。它们转换成的十六进制UTF-非常类似于Java的静态分析方法。但是其语法要简洁得多,而且拥护算子大大简解构函数调用,这在Java当中时不宜能用的。
普通人泛型号Java旧版本5申请加入了泛型号拥护。但是,语言建筑家不算毫无疑问于向下兼容性,Java 5的十六进制UTF-只能能与Java 5之前的十六进制UTF-完全兼容。这就是为什么转换成的十六进制UTF-当中不举例来说泛型号的因素所。这种方式则称为“泛型号擦除”。与之相对的被称作“普通人泛型号”(reified generics),即泛型号就会浮现在十六进制UTF-当中。
仅在编译器期间有别于泛型号,就会导致一系列疑虑。例如,前面的分析方法签名就会转换成完全相同的十六进制UTF-,因此这段代UTF-是不准确的:
class Bag {int compute(List persons) {}int compute(List persons) {}}另一个疑虑是如何从差值的托盘当中借助有并不一定号的差值。前面是Spring当中的一个例子:
org/springframework/beans/factory/BeanFactory.javapublic interface BeanFactory { T getBean(Class requiredType);}微软掺入了一个 Class ,以便在分析方法体当中知悉并不一定号。如果Java有普通人泛型号,不须像前面这样执行即可:
public interface BeanFactory { T getBean();}也许一下,如果Kotlin有普通人泛型号,我们可以改不定上述设计:
interface BeanFactory {fun getBean(): T}算子函数调用可以改成:
val factory = getBeanFactory()val anyBean = factory.getBean() ①① 普通人泛型号!
Kotlin即便如此必需服从JVM规范,转换成与JavaPython的十六进制UTF-兼容的十六进制UTF-。但它可以通过“COM”的方式则付诸,即Python用算子体附加COM算子函数调用。
前面是Kotlin代UTF-:
org/springframework/beans/factory/BeanFactoryExtensions.ktinline fun 概括本文引介了四个我期望Java也有的Kotlin动态:不宜不定提及、null兼容性、构建算子,以及普通人泛型号。Kotlin还有许多其他很好的动态,但这四个动态就根本无法提升Java。
例如,有了构建算子和说道新生,再舍弃一些语法糖,就可以很纯松地执笔出DSL,就像Kotlin Routes和Beans DSL一样:
beans {bean {router {GET("/hello") { ServerResponse.ok().body("Hello world!") }}}}别误就会:我真的Java作为一种语言,发展时必需考量很多因素所,而Kotlin的才对不够纯。但是,有竞争是好事,两者可以相互理解。
同时,我只在充分亦同就会执笔出Java,因为Kotlin已视作了我的JVM除此以外。
当中文翻译地址:
。吉林牛皮癣医院去哪家好青岛看癫痫哪里最好
重庆男科哪家医院最好
贵阳甲状腺检查
武汉妇科医院哪家更好
骨盆骨折
补肾药物
皮肤美容
治酒糟鼻
幼儿口臭

-
常见的8种植物,也是中药材,养在家里特养人
生活里许多常用的豆科植物,其实也是我们常常在里药店里听见的英文名字,在家里也应该养一盆,在养人这一不足之处值得注意好。 一、香草 香草是因为它可以上
- 2025-11-05进展 | JACC研究课题:房颤合并ACS患者优化抗栓方案:阿哌沙班+P2Y12抑制剂
- 2025-11-05北海市地角一家户民房被拍卖,才26.3万元竟然没人要
- 2025-11-05当“奶爸”变得感性时 测试五菱凯捷高功率版
- 2025-11-05张杰、谢娜被指“跳单”百万中介费,用公司买豪宅规避出租汽车政策?
- 2025-11-05绕过外贸高质量发展 跨境电商综合试验区增至132个
- 2025-11-05“固收+”赛道2021年报:规模激增的大万亿
- 2025-11-05K50首款房车配色解锁:名为“冰斩”
- 2025-11-05巴萨续约便是新星表示乐观 希望与两人续约到2027
- 2025-11-05万字长文:如何学习商业研究(二)
- 2025-11-05房产税到来?我国40%以上首府家庭受影响,未来或全面推广