kotlin 小记

2019-05-17  本文已影响0人  kot_flu

kotlin的写法记录

/**
     * 根据类获取指定activity对象
     */
    //第一种写法
//    fun getActivity(clazz: Class<out AppCompatActivity>): AppCompatActivity? {
//        return null
//    }

    //第二种写法
//    fun <A: AppCompatActivity> getActivity(clazz: Class<out AppCompatActivity>):A?{
//        var target: A? = null
//        activityStack
//            .filter { it.javaClass == clazz }
//            .forEach {
//                @Suppress("UNCHECKED_CAST")
//                target = it as A
//            }
//        return target
//    }

    //第三种写法
    fun <A: AppCompatActivity> getActivity(clazz: Class<out AppCompatActivity>):AppCompatActivity?{
        var target: A? = null
        activityStack
            .filter { it.javaClass == clazz }
            .forEach {
                @Suppress("UNCHECKED_CAST")
                target = it as A
            }
        return target
    }
上一篇下一篇

猜你喜欢

热点阅读