kotlin 初学一些常用符号

现阶段初学kotlin,其实之前也开始学过一段时间,不过没总结,忙过一阵之后忘得也差不都了,先不是很忙,慢慢的捡起来。本篇博客慢慢更新:希望又不准确的地方各位看官请指出,多多指教

 val 声明不可变变量

 var声明可变变量

:表示当前是否对象可以为空

!!: 表示当前对象不为空的情况下执行

eg:

val l = b!!.length//如果b不为空,则返回b.length,如果b为空,则抛出异常NullPointerException

?. 安全调用符

?:Elvis 操作符    eg:

val l = b?.length?:-1//当b不为空时,返回b.length,当b为空时,返回-1

 filterNotNull

如果你有一个可空类型元素的集合,并且想要过滤非空元素,你可以使用 filterNotNull 来实现

val nullableList: List<Int?> = listOf(1, 2, null, 4)
val intList: List<Int> = nullableList.filterNotNull()

$符号

------------java------------

String baseUrl = "http://www.baidu.com/"

String imageUrl = baseUrl+"?page=1&size=10"//当然这些数字不能写死,一般我们都是添加在FormBody中的

------------kotlin-------------

val imageUrl = "$baseUrl?page=$page&size=$size

 

 ==和===

==判断值是否相等,===判断值及引用是否完全相等。

..区间

区间(或叫作范围)表达式由具有操作符形式 .. 的 rangeTo 函数辅以 in 和 !in形成

if (i in 1..10) { // 等同于 1 <= i && i <= 10 println(i) }

//使用until函数,创建一个不包括其结束元素的区间

for (i in 1 until 10) { // i in [1, 10) 排除了 10 println(i) } //如果你想倒序迭代数字呢?也很简单。你可以使用标准库中定义的 downTo() 函数

for (i in 4 downTo 1) print(i) // 输出“4321” //能否以不等于 1 的任意步长迭代数字? 当然没问题, step() 函数有助于此

for (i in 1..4 step 2) print(i) // 输出“13” for (i in 4 downTo 1 step 2) print(i) // 输出“42”

_

data class Book(var id: Int, var name: String)
Book声明了 id,name两个变量。解构时如果只需要id这一个变量时
val book = Book(1, "英语")
val (id, _) = book

 :: 得到类的class对象

/得到类的Class对象
startActivity(Intent(this@KotlinActivity, MainActivity::class.java))

@

1、限定this的类型

class User

{ inner class State{ fun getUser(): User{

//返回User return this@User }

fun getState(): State{

//返回State return this@State } } }

2、跳出循环

loop@ for (itemA in arraysA) {

var i : Int = 0

for (itemB in arraysB)

{ i++ if (itemB > 2) {

break@loop }

println("itemB:$itemB") } }

3、命名函数自定义标签

fun fun_run(){

run { println("lambda") } var i: Int = run { return@run 1 } println("$i") //匿名函数可以通过自定义标签进行跳转和返回 i = run (outer@{ return@outer 2 }) println(i) }

补充:https://mp.weixin.qq.com/s/FqXLNz5p9M-5vcMUkxJyFQ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值