Kotlin 细节一:基础数据类型 与数组

Kotlin原始类型

  1. 长整形 必须以大写的 L结尾,而浮点型可以以 d 和f 结尾

  2. Kotlin 中 == 代表java 的equal , === 代表地址比较

  3. kotlin 不支持Number 类型的 自动转化,如 int 自动转long ,需要调用toXXX方法

  4. kotlin 1.3支持 无符号类型

  5. kotlin 中没有 int、long、char、double 这样的原始类型,取而代之的事包装类型

    实际上,在JVM 层面 ,Kotlin 中的Int 类型等同于 int ;
    Kotlin 中的Int? 等同于 Integer。
    这种写法让Kotlin 在语法层面 更接近纯面向对象语言。

Kotlin 数组

Kotlin为数组增加了一个Array< T >类,为基本数据类型的数组增加了XxxArray类(如:IntArray、ByteArray)
kotlin Array< T >类: 使用包装类数据 : Integer 、Float 避免了装箱与拆箱。
xxxArray类 : 则是使用了 平台的基础类型数组,如 IntArray 使用了 int []
按照在JVM 上的类型分为以下两种

    val c = IntArray(5)
    val d = intArrayOf(1,2,3,4,5)
  • Integer[] 类型
    val a = arrayOf(1)
    val b = arrayOf(1.5,null)
    val e = emptyArray<Int>()

kotlin 代码:

fun main(){
    val a = arrayOf(1)
    val b = arrayOf(1.5,null)
    val e = emptyArray<Int>()
    val c: IntArray = IntArray(5)
    val d = intArrayOf(1,2,3,4,5)


}

Decompile:

      Integer[] var10000 = new Integer[]{1};
      Double[] var5 = new Double[]{1.5D, (Double)null};
      Integer[] e = new Integer[0];
      int[] c = new int[5];
      int[] var6 = new int[]{1, 2, 3, 4, 5};

注意:

  1. Kotlin 中的 IntArray 不是Array 的子类 。
  2. Array 类型可以添加null 类型,本质上就是 包装类数组可以放null ,基础类型数组不可以。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值