专栏名称: 刘望舒
腾讯云最具价值专家
目录
相关文章推荐
复利大王  ·  保时捷跌下神坛 ·  20 小时前  
复利大王  ·  民生银行某员工业绩工资 ·  20 小时前  
鸿洋  ·  Android×鸿蒙×AI ... ·  昨天  
复利大王  ·  娇妻版毛晓彤 ·  昨天  
复利大王  ·  江浙沪美女留子回国下嫁怀孕后悔 ·  2 天前  
51好读  ›  专栏  ›  刘望舒

kotlin到底好在哪里?

刘望舒  · 掘金  · android  · 2018-03-01 06:58

正文

请到「今天看啥」查看全文


1.3、数据类

在kotlin中,我们还有可以用data class去定义单纯只是保存数据的数据类:

data class Person(var name: String, var age: Int)

有的同学可能会会,数据类和普通的类有什么区别呢?让我们看下下面的代码就一目了然了:

data class PersonData(var name: String, var age: Int)class PersonClass(var name: String, var age: Int)var dataA = PersonData("jack", 18)var dataB = PersonData("jack", 18)println(dataA) println(dataB) println(dataA == dataB) var classA = PersonClass("peter", 20)var classB = PersonClass("peter", 20)println(classA) println(classB) println(classA == classB)

假设用java去实现的话就不知道这一行的kotlin代码需要多少行才能实现了.

1.4、object 对象

我们能使用object关键字直接实现单例模式:

object DataBaseHelper {  ...}

它翻译成java是这样的:

public class DataBaseHelper {  public static final DataBaseHelper INSTANCE;  private DataBaseHelper() {  }  static {    INSTANCE = new DataBaseHelper();  }}

2、命名参数

kotlin支持命名参数。当一个方法的参数数目特别多的时候,命名参数就很有用了。例如String.regionMatches方法有五个参数:

public boolean regionMatches(boolean ignoreCase, int toffset,            String other, int ooffset, int len) {    ...}






请到「今天看啥」查看全文