在kotlin类中,我将方法参数作为类类型T的对象(请参见此处的kotlin文档)。当我调用方法时,我将传递不同的类作为对象。在Java中,我们可以使用对象的instanceof
来比较类是哪个类。
所以我想在运行时检查和比较它是哪个类?
如何在Kotlin中检查instanceof
类?
使用是
。
if (myInstance is String) { ... }
或者相反的!是
if (myInstance !is String) { ... }
instanceof 操作符用于检查一个对象是否属于某个特定的 class。同时,它还考虑了继承。 在许多情况下,可能都需要进行此类检查。例如,它可以被用来构建一个 多态性(polymorphic) 的函数,该函数根据参数的类型对参数进行不同的处理。 instanceof 操作符 语法: obj instanceof Class 如果 obj 隶属于 Class 类(或 Class 类的衍生类),
问题内容: 我有以下表达: …其中元素类型为: 是否可以在过滤器之前检查类型? 问题答案: 您可以应用另一个以仅保留实例,并添加一个将为您节省以后的转换: 或者,正如Holger所说,如果您喜欢那种样式,可以用方法引用替换lambda表达式:
问题内容: 我正在尝试将ScalaTest合并到我的Java项目中。用ScalaTests替换所有JUnit测试。一方面,我想检查Guice的Injector是否注入正确的类型。在Java中,我有这样的测试: 但是我在使用ScalaTest做同样的问题: 它抱怨说,价值是不是成员/ / 。我不能在Scala中使用这种方式吗? 问题答案: Scala不是Java。Scala只是没有运算符,而是有一个
是模拟抽象类:,而是接口。这是失败点: 如何模拟这段代码?
问题内容: 我应该使用哪种构造来检查Twig模板中的值是否为NULL? 问题答案: 根据您的实际需求: 检查值是否为: {% endif %} 检查是否定义了变量: {% endif %} 另外,对两个值进行类型严格比较的测试可能对检查(如)以外的值很有用:
问题内容: 我班上有一个接口类型。 我有的几个具体实现。我想提供一种遍历列表的方法,并根据具体类型执行一些逻辑。 我目前正在这样做,就像这样: 这是唯一/最佳方法吗? 问题答案: 逻辑是否合理地属于自身?如果是这样,请将其放入接口中,并为实现该接口的每个具体类适当地实现它。显然,这是一种 不错的 多态方法。 不幸的是,在现实生活中,OO并非总是那么简单-有时将按类型的行为放在类型本身中是没有意义的