美文网首页
kotlin之实战运用

kotlin之实战运用

作者: Method | 来源:发表于2021-06-28 16:16 被阅读0次
    1. build模式配置方法
    java写法
    fun setConnect(timeout: Long):Builder{
         connectTimeout = timeout
         return this
    }
    kotlin写法       
    fun setConnectTimeout(timeout: Long) = apply {
          connectTimeout = timeout
    }
    
    //如果函数体是表达式可以直接用 = 
    //apply返回的是当前类
    
    1. as?
    return api as? T ?: generateApi(service)
    
    as运算符用于执行引用类型的显式类型转换。如果要转换的类型与指定的类型兼容,转换就会成功进行;
    如果类型不兼容,使用as?运算符就会返回值null。在Kotlin中,父类是禁止转换为子类型的。
    
    1. 替换匿名内部类
    java写法
    private val interceptor0 = object: Interceptor{
            override fun intercept(chain: Interceptor.Chain): Response {
                return chain.proceed(chain.request())
            }
        }
        
    kotlin写法
    private val interceptor1
         get() = Interceptor { 
             it.proceed(it.request())
    }
    
    1. 登录后保存User信息
     var user: User? = null
            set(value) {
                field = value
                save()
            }
            get() {
                if (field == null) {
                    // 初始化用户信息
                    field = UserStore.instance.getUser()
                }
                return field
            }
    登录成功后只需要将 user = User()
    退出登录只需要将 user = null
    

    判断用户是否登录扩展

    var isLogin: Boolean = false
            private set
            get() = user != null && apiToken.isNotEmpty() 
    

    如果禁止set 可以用private修饰。

    1. 13213
    2. 21321
    3. 123213
    4. 123123

    相关文章

      网友评论

          本文标题:kotlin之实战运用

          本文链接:https://www.haomeiwen.com/subject/oigqultx.html