巧用Kotlin反射实现按值取名,调试做到多快好省

本文介绍了如何利用Kotlin反射技术根据变量值查找对应的变量名,以提供更有意义的调试信息。通过示例展示了针对Java类、Kotlin类和Kotlin顶级变量的反射调用方式,并提供了完整代码示例和注意事项,提醒注意性能和混淆问题。
摘要由CSDN通过智能技术生成

痛点

我们经常会定义一些常量,比如

public interface ItemType {
    public static final int TYPE_TEXT = 0;
    public static final int TYPE_IMG = 1;
    public static final int TYPE_VIDEO = 2;
    public static final int TYPE_AUDIO = 3;
    public static final int TYPE_LINK = 4;
}

当我们打印查看是哪种类型的时候,如果单纯是打印int值,并不能足够解释业务信息,所以,为了更好的输出信息,我们通常会这样做

private fun inspectItemTypeUgly(itemType: Int) {
    val type = when(itemType) {
        ItemType.TYPE_TEXT -> "text"
        ItemType.TYPE_AUDIO -> "audio"
        ItemType.TYPE_IMG -> "image"
        ItemType.TYPE_LINK -> "link"
        ItemType.TYPE_VIDEO -> "video"
        else -> null
    }
    println("inspect item type =${inspectItemTypeUgly(itemType)};originalValue=$itemTy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值