Kotlin 中 let、with、run、apply ‘标准函数 ’ 和 ‘ 静态方法 ’ 的使用

本文会介绍 部分 标准函数 和 静态方法 的使用,算是kotlin的一些高级小技巧,走起来~~

一、let、with、run、apply

let

它主要是结合 ’ ?. ’ 进行判空的辅助,

例如: 
  var userBean:UserBean ?= null
  userBean?.let {
    //如果userBean为空,let空间的代码就不会执行了 
    println(it.name)
  }
with

它主要是对代码 进行一些精简的作用,比如我们要使用一个对象的方法很多次,就可以使用 with。

有两个参数 :1 是要调用的对象 , 2 lambda 表达式

lambda 的最后一行 作为 返回值。

val ulist = mutableListOf<String>("a", "b","c","d",)

var str= with(ulist){
    add("e")   //之前添加需要 ulist.add()
    add("f")
    add("g")
    clear()
    "clear all"
}
run

功能和 with 基本一样,就是在编码的直觉上更符合,之前的(Java)习惯。

var b= ulistOf.run{
    add("e")
    add("f")
    add("g")
    clear()
    "clear all"
}
apply

与 with 的使用方式基本一样,不同的是 它没有返回值,而是将自身做为返回值。

var c= ulistOf.apply{
    add("e")
    add("f")
    add("g")
    clear()
    "clear all" // 这里的 "clear all " 字符串就没有什么用了
}

二、静态方法的使用

在Kotlin中,弱化了静态方法的概念,使用 ‘ 静态方法 ’ 有两种方式:

(1)使用 object 修饰一个 类(如 Util ),将这个类变成 ‘ 单例的 ’,就可以使用 Util.f1() 来调用了

object Util {
    fun f1(){

    }
    fun f2(){

    }
}

(2)上边这样 Utli 的所有方法 f1 f2 都变成类似静态方法了,如果 只想某一个方法变成 静态方法

要使用 companion object ( 伴生对象 ) 了

 class Util {

    fun f1(){
    }
    companion object{
        fun f2(){
        }
    }
}

上面其实是 kotlin 提供的 一种 神似静态方法 的调用方式 (日常开发需求已经够用了)

如果想使用 想JAVA一样的 “真静态方法” 请看下面 两种方式

1 加注解 @JvmStatic

companion object{
    @JvmStatic
    fun f2(){
    }
}

2 顶层函数

新建 kt 文件 Hello.kt

fun funStatic(){
    println("我是顶层静态方法")
}

如何使用

//kotlin 直接使用
  funStatic()  //我是顶层静态方法

//java 中
  HelloKt.funStatic();

后面会分享 更多的 Kotlin 小技巧 ,快来一起学习 kotlin 吧!~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值