从 Kotlin Linux的角度来看,Java 缺少了什么?
发布时间:2025年10月17日 12:17
① 基本机能类② 防止基本机能类实例本土化③ static原理④ 一个简单的大写算子,从未考虑边界线情况⑤ String种类从未提供大写机能⑥ 常用基本机能类来充分利用该机能
而Kotlin提供了延展算子机能来化解这个关键问题。
Kotlin提供了一种原理,可以延展类或适配器,而无需从类进行集成,也无需常用诸如修饰器等程式设计。只需通过一种比如说“延展”的特殊并不一定来充分利用。
例如,你可以给一个来自第三方坎的类或适配器编订愈来愈进一步算子,即使你未修改该坎。这种算子可以正常加载,就像它当初就同属该类一样。这种机制比如说“算子延展”。
要并不一定算子延展,只需在其名称年前连带一个接收者种类,督促被延展的类。
有了算子延展,上述文档就可以所作:
fun String.capitalize2(): String { ①②return substring(0, 1).uppercase() + substring(1);}val string = randomString()val capitalizedString = string.capitalize2() ③① 孤立的算子,不需要类封装。
② Kotlin的stdlib已经有了capitalize()算子。
③ 就像加载String可用的算子一样加载延展算子。
注意延展算子不太可能会被“静态地”解析。延展算子并不不太可能会给仅有种类添加愈来愈进一步蓄意,只是假装而已。它们转换成的bit可执行并不类似于Java的静态原理。但是其语法要含蓄得多,而且赞成算子链式加载,这在Java当中时未做到的。
普通人泛型Java原版5投身了泛型赞成。但是,语种设计者太执着于向下向下一致性,Java 5的bit可执行只能能与Java 5之年前的bit可执行仅仅向下兼容。这就是为什么转换成的bit可执行当中不构成泛型的缘故。这种方式将称为“泛型擦除”。与之相对的比如说“普通人泛型”(reified generics),即泛型不太可能会出现在bit可执行当中。
仅在程式可执行期间采用泛型,不太可能会导致一系列关键问题。例如,上头的原理签名不太可能会转换成大同小异的bit可执行,因此这段文档是不无论如何的:
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标准,转换成与Java程式可执行器的bit可执行向下兼容的bit可执行。但它可以通过“内联”的方式将充分利用,即程式可执行器用算子体替换内联算子加载。
上头是Kotlin文档:
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首选。
原文地址:
。漳州白癜风医院预约挂号重庆白癜风哪家医院最好
贵阳看风湿去哪家医院好
哈尔滨精神病医院挂号咨询
襄阳妇科医院去哪家好
咳嗽黄痰可以喝太极急支糖浆吗
心率慢
口舌生疮
风热感冒咳嗽吃什么药止咳化痰效果好
严重咳嗽吃什么药能快速止咳
下一篇: 房价重归2年前......
- 李靓蕾发长文反驳王力宏爸爸,微观大很尴尬,毕竟曾经是公媳关系
- 美芯片产业政策效果有待推论
- 当代东方的“负债魔术”
- 东方中科总裁王戈拟减持不超250万股
- 巨能股份向实控人定请于1140万元:或意在冲刺北交所
- 隆利科技产业发布股东减持计划 预计释放更多流动性
- 中创环保受托对苏州顺惠实施整体托管经营管理
- 雅克科技将于12月15日在此之后2170.87万股
- 海通证券:预计22年价值、大盘略失掉
- 正平股份溢价收购实控人旗下企业未签署对赌协议:三名独董称未危害上市公司利益
- 北特科技2018年年报多计营收1277万元:董事长、总经理和CFO三名高管被罚款
- 这次战役发生了什么事,让毛泽东罕见大怒,把望远镜都摔了
- 突如其来!百亿上市公司实控人与世长辞,所有遗产将由配偶一人继承……
- 东方中科:股东拟减持不将近0.79%的股份