Kotlin一之内置类型

目录

一、基本类型

二、数组


一、基本类型

整型默认类型是Int,浮点数默认类型是double。

数值型的Float需要在数字后面写上大写的L,不可以是小写的l

Kotlin 复制代码
// val c: Long = 4l // 编译就报错,只能用大写的L
val c: Long = 4L

不支持隐式转换,可以直接用数字赋值。比如一个函数参数为Double 的函数只能接收 Double 类型,不能接收 Float、Int 或者其他数字类型。Long类型也不能接受Int类型。

Kotlin 复制代码
    val bInt = 3
    var b: Long = 3 // 可以
    b = 4
//    b = bInt // 编译就报错,不支持隐式转换
    b = bInt.toLong()
    var doubleNumber1: Double = 6.0
    // 报错 The floating-point literal does not conform to the expected type Double
//    doubleNumber1 = 3.0f // 报错,因为3.0f,相当于明确指出了是Float类型,Float类型不能给Double类型赋值

== 表示值比较,===表示引用比较,看是否是同一个对象。

Kotlin 复制代码
fun stringFunction() {
    val str = "Hello" // 常量池
    val str2 = "Hello"
    val hello = String("Hello".toCharArray()) // 创建了对象
    val hello2 = String("Hello".toCharArray())
    println("str hello value equal? ${str==hello}") // 比较值 true
    println("str is hello? ${str===hello}") // 比较引用 false
    println("str str2 value equal? ${str==str2}") // 比较值 true
    println("hello is hello2? ${hello===hello2}") // 比较引用 false
}

二、数组

Kotlin java
整型 IntArray int\[\]
整型-包装类型 Array<Int> Integer\[\]
字符型 CharArray char\[\]
字符型-包装类型 Array<Char> Character\[\]
字符串类型 Array<String> String\[\]
[java VS Kotlin 对照]

长度不可以变,可以通过foreach,迭代器,for(.. in ..)遍历。

查看是否包含某个元素,可以用indexOf(),若存在返回第一次出现的下标,否则返回-1。源码其实也是用for(.. in .. )实现的。

相关推荐
认真的酒窝13 小时前
自己动手开发编译器(十一)语义分析
java·开发语言
wbs_scy14 小时前
Linux C++ 高并发编程:线程池全链路深度解析,从原理到手撕实现
java·开发语言
JAVA面经实录91714 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
贪玩的蛋挞14 小时前
C#与闭包
开发语言·c#
端庄的战斗机15 小时前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式
Full Stack Developme16 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
C语言小火车17 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序
机智的张尼玛17 小时前
我基于 Kotlin Multiplatform 实现了一套跨平台的弱网离线同步引擎
android·开源·kotlin
北冥you鱼17 小时前
abigen 最佳实践:从入门到精通,高效生成 Go 语言合约绑定
开发语言·golang·区块链
ALex_zry18 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++