Kotlin学习总结3

1.as用于类型转化,或是为import导入起一个别名
在kotlin中的基本数据类型的隐式转换,并不会保持相等性,更别说保持同一性。只有将其进行显示的转换才能保持相等性。
val a: Int? = 1 // 一个装箱的 Int (java.lang.Integer)
val b: Long? = a // 隐式转换产生一个装箱的 Long (java.lang.Long)
print(b == a) // 惊!这将输出“false”鉴于 Long 的 equals() 会检测另一个是否也为 Long
因此要使用 a.toLong() 进行显示的转换。

显式转换 。每个数字类型支持如下的转换:
toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char

2.使用标签来标记break continue return等的跳转
fun foo() { //使用return@lit相当于break,这样进行跳出循环
listOf(1, 2, 3, 4, 5).forEach lit@{
if (it == 3) return@lit // 局部返回到该 lambda 表达式的调用者,即 forEach 循环
print(it)
}
print(" done with explicit label")
}

3.可变参数
//这里返回的是可变的参数数组,其中的vararg就是可变参数的意思
override fun doInBackground(vararg params: String?): String {
Log.e(“TAG”, “onProgressUpdate----${params[0].toString()}”)
return params[0].toString()
}

4.如果父类某个方法能让子类复写。那么就需要使用open关键字。直接使用public是不可以的。
在这里插入图片描述
5.kotlin中的数组的转化 arrayOf()就是数组 arrayListOf()就是集合
java代码:
String[] ss=new String[]{“eeee”,“eeee”}
String[] ee=new String[3];
Class[] dd=new Class[]{IlawSuit.class}
kotlin代码:
val ss = arrayOf(“eeee”, “eeee”)
val ee = arrayOfNulls(3)
val dd = arrayOf<Class<*>>(ILawSuit::class.java)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值