设为首页 加入收藏

TOP

[外文翻译]《Effective Java》在哪些方面影响了 Kotlin ?的设计?(二)
2017-06-26 10:23:25 】 浏览:443
Tags:外文 翻译 Effective Java 哪些 方面 影响 Kotlin 设计
条都没选会怎么样?这个方法是否返回null?还是返回空列表?如果不看方法的实现细节,我们就无法知道(除非这个方法有很好的javadoc描述了返回类型??。


这种情况下,开发人员可能会犯的两个错误是:


Joshua Bloch 在第43条建议,用返回一个空的集合数组来取代返回null。这一条让我想到了可空和不可空类型。有了Kotlin的空安全性(null safety),你将知道返回值是否为空。


举个例子:一个返回类型List <Item>? 意味着它可以为null,而List <Item>则表示不能为null。如果它可以为空,编译器就会强制我们在访问其属性或调用其函数之前检查它是否为null。所以,更为强大的编译器将阻止开发者犯错误,生活突然变得容易了。


图1:[外文翻译]《Effective Java》在哪些方面影响了 Kotlin ?的设计?


9. 没有原始类型(Raw types)


Java 1.5中引入了泛型,它们是实现类型安全的好方法。而为了向后兼容性,仍然可以使用原始类型,但Joshua Bloch在第23条中建议使用泛型(List <Integer>而不是List)以避免ClassCastExceptions。Kotlin不允许使用原始类型,因此必须为泛型指定类型参数,从而实现代码的类型安全。


总结


以上就是我认为《Effective Java》这本书影响了 Kotlin 设计的几处地方,肯定有遗漏,如果你有其它意见和建议,欢迎讨论。


原文:How “Effective Java” may have influenced the design of Kotlin


翻译:技术风向标


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Spring3.0使用annotation完全代替.. 下一篇Python基础之字典dict和集合set

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目