HarmonyOS 如何判断联合类型的具体类型

class Cat {
  // ...
}
class Dog {
  // ...
}
class Frog {
  // ...
}
type Animal = Cat | Dog | Frog | number
// Cat、Dog、Frog是一些类型(类或接口)

let animal: Animal = new Cat();
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

如何在代码运行时判断此animal为Cat类型

HarmonyOS
2024-12-25 08:55:57
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
put_get

可以通过instanceof来判断实体类型

参考demo:

@Entry
@Component
struct TestPage1 {
  @State list: Array<Object> = [new Cat(), new Dog()]

  build() {
    Row() {
      Column() {
        ForEach(this.list, (item: Object) => {
          if (item instanceof Cat) {
            Text("this is Cat")
          } else if (item instanceof Dog) {
            Text("this is Dog")
          }
        })
      }.width('100%')
    }.height('100%')
  }
}

class Cat {
}

class Dog {
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
分享
微博
QQ
微信
回复
2024-12-25 11:14:50
相关问题
求大佬告知如何实现联合类型
1494浏览 • 1回复 待解决
HarmonyOS 如何判断设备类型
1215浏览 • 1回复 待解决
HarmonyOS如何判断设备类型?
1188浏览 • 1回复 待解决
使用具体类型有哪些?
1140浏览 • 1回复 待解决
HarmonyOS ArkTS如何判断Object类型
1121浏览 • 1回复 待解决
HarmonyOS 怎么进行类型判断
1656浏览 • 1回复 待解决
HarmonyOS 如何快速判断当前网络类型
1008浏览 • 1回复 待解决
HarmonyOS 泛型类型判断
934浏览 • 1回复 待解决
变脸类型判断问题
491浏览 • 1回复 待解决
HarmonyOS ArkTS泛型类型判断
854浏览 • 1回复 待解决
HarmonyOS 如何判断手机屏幕类型
645浏览 • 1回复 待解决
HarmonyOS 如何判断自定义类类型
768浏览 • 1回复 待解决
如何对监听判断VPN类型网络
1001浏览 • 1回复 待解决
HarmonyOS 线程内类型判断无效
436浏览 • 1回复 待解决
ArkTS如何判断接收参数是什么类型
1096浏览 • 1回复 待解决
网络类型细分判断问题咨询
927浏览 • 1回复 待解决
HarmonyOS 如何判断一个url文件类型
783浏览 • 1回复 待解决