【问题标题】:Kotlin Check and access a class from List<Any>Kotlin 检查并从 List<Any> 访问一个类
【发布时间】:2019-11-27 07:18:26
【问题描述】:

如何从 Any 数组中检查和访问 adViewClass?

val adViewClass = AddViewClass(name = "an instance")
val elements = listOf("trevor", "john", adViewClass, "0goo")

如何从列表中获取adViewClass

【问题讨论】:

    标签: kotlin arraylist casting any


    【解决方案1】:

    您可以使用filterIsInstance(Class&lt;&gt;)获取列表中的特定类的所有实例

    val elements: List<Any> = listOf<Any>("trevor", "john", AdViewClass, "0goo")
    val listOfAdViewClass = elements.filterIsInstance(AdViewClass::class.java)
    

    过滤后的列表将包含列表中该类的所有实例。

    【讨论】:

      【解决方案2】:

      您可以使用简单的elementAt 获取课程

      elements.elementAt(2)
      

      elementAt() 对于不提供索引访问或静态已知不提供索引访问的集合很有用。在 List 的情况下,使用索引访问运算符(get() 或 [])更为惯用。

      并使用is检查课程

      if (obj is AdViewClass) {
      

      我们可以在运行时使用is操作符检查一个对象是否符合给定的类型

      【讨论】:

        猜你喜欢
        • 2022-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-26
        • 2019-05-15
        相关资源
        最近更新 更多