ArkTS中,如何将Object类型的对象转换为具体类的对象呢
ArkTS中,如何将Object类型的对象转换为具体类的对象呢
·
代码如下:
class Person {
private age: number;
constructor(age: number) {
this.age = age;
}
getAge(): number {
return this.age;
}
}
let map: Map<string, Object> = new Map();
map.set('person', new Person(18));
let person: Person | undefined = map.get('person') as Person;
if (person instanceof Person) {
console.log("age: " +person.getAge()); // 输出:18
} else {
console.error('对象不是Person类型');
}
在这个示例中,我将Map的值类型设置为Object,这样我就可以避免在将对象放入Map时进行类型检查。
然后,当我从Map中检索对象时,我使用类型断言as将其转换为Person类型。
最后,我使用instanceof操作符来检查对象是否真的是Person类型的实例,以确保我不会调用一个不存在的方法或访问一个不存在的属性。
更多推荐


所有评论(0)