Kotlin写函数技巧

写接口类型

mViewModel.gitHubEvent.observe(this, Observer { gitHubDTO: GitHubDTO ->
 
        })

是因为泛型的参数是这样写的吗。
answer:no

userInfo.observe(this, object :  Observer<String> {
            override fun onChanged(t: String?) {
                TODO("Not yet implemented")
            }
        })

总结其实就是 object: xxx {} 然后你根据提示去重写它的方法,或者写个override会提示, 或者直接拷贝接口的定义方法,前面加上overide改造下参数
最后还可以改成lamda格式—在方法有参数的情况下具备了,去掉object: { 重写方法 只保留里面的参数定义 -> }

定义object 类名

然后就可以MessageApi.createMessage()来调用了

public object MessageApi {
    fun createMessage(): IMMessage {
        return IMMessage()
    }
}


但是有的地方为啥要加@JvmStatic

@JvmStatic
    fun createTextMessage(account: String, sessionType: SessionTypeEnum, str: String): IMMessage {
        return createMessage(MsgTypeEnum.text, str)
    }

kotlin 枚举demo

/**
 * @author bingley
 * @date 2020/7/30.
 */
enum T {

    undefined(-1, (Class)null),
    Name(3, String.class),
    ICON(20, String.class);


    private int value;
    private Class<? extends Serializable> fieldType;

    private T(int var3, Class<? extends Serializable> var4) {
        this.value = var3;
        this.fieldType = var4;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值