请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

kotlin 1.3 没有jvmErasure

kotlin 1.3 没有jvmErasure

//kotlin 1.3 之前的版本 buildSequence
        //sequence
        sequence {
            var thisClass:KClass<*> = this@BaseFragment::class
            while (true){
               
                yield(thisClass.supertypes)
                thisClass = thisClass.supertypes.firstOrNull()?.jvmErasure?:break
            }
        }

正在回答

4回答

刚看了下 1.3.0,没问题啊

https://img1.sycdn.imooc.com//szimg/5cec6e5e00012c4c08620600.jpg

https://img1.sycdn.imooc.com//szimg/5cec6e440001a75808840150.jpg

https://img1.sycdn.imooc.com//szimg/5cec6e670001a77c07660188.jpg

0 回复 有任何疑惑可以回复我~
  • 提问者 JakePrim #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-05-28 07:23:02
  • yaning #2
    老师,好像从1.3.10版本开始就没有jvmErasure,我下的AS是3.5,要求kotlin版本要高于1.3.10,1.3.10版本好像就没有jvmErasure
    回复 有任何疑惑可以回复我~ 2019-09-14 21:34:04
  • bennyhuo 回复 yaning #3
    最新版 1.3.50 有的,看你的截图应该是没有添加反射包,需要在 gradle 里面单独配置一下。
    implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
    回复 有任何疑惑可以回复我~ 2019-09-14 22:48:16
yaning 2019-09-14 21:36:46

老师,好像从1.3.10版本开始就没有jvmErasure,我下的AS是3.5,要求kotlin版本要高于1.3.10,1.3.10版本好像就没有jvmErasure

https://img1.sycdn.imooc.com//szimg/5d7cec9b0922372b08910050.jpg

https://img1.sycdn.imooc.com//szimg/5d7cecb309091ed206740070.jpg

https://img1.sycdn.imooc.com//szimg/5d7cecc809cea22f07030174.jpg

https://img1.sycdn.imooc.com/szimg/5d7cece50939fcf209940122.jpg

0 回复 有任何疑惑可以回复我~
  • 要加反射包呀。。。
    
    implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
    回复 有任何疑惑可以回复我~ 2019-09-15 08:29:52
bennyhuo 2019-05-28 06:58:58

我确认下,稍等

0 回复 有任何疑惑可以回复我~
提问者 JakePrim 2019-05-28 06:48:09

type.jvmErasure, or type.classifier as KClass<*> to get the KClass instance.

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信