HarmonyOS 鸿蒙Next 如何将一个object对象转为class对象

发布于 1周前 作者 songsunli 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 如何将一个object对象转为class对象

 使用this.value.Object.name,可以获取到对象内容,但Object会报错

cke_12712.png

7 回复
看下报的什么错? this.value.Object跟Spot也是一个类型的吗?

这是报错 Property ‘Object’ does not exist on type ‘object’. <ArkTSCheck> 是一个类型的 @Observed export class Spot extends IBaseProject implements ISpot {

id: string; name: string; summary: string; category: string; // 分类 rating: number; location: Location; ticketPrice: number; openingHours: string; image: string cityCode:string //城市编码 cityId:string //城市ID cityName:string //城市名称 address?:string //地址 proId?:string //省份ID proName?:string //省份名称 areaId?:string //镇ID areaName?:string //镇名称

chats: TravelChat[] = [new TravelChat(0 ,[])];

static idCount = 0

constructor( id: string, name: string, summary: string, category: string, rating:number, location: Location, ticketPrice: number, openingHours: string, image: string, cityCode:string, cityId:string, cityName:string, address?:string ) { super(name); this.id = id; this.name = name; this.summary = summary; this.category = category; this.rating = rating; this.location = location; this.ticketPrice = ticketPrice; this.openingHours = openingHours; this.image = image; this.cityCode = cityCode; this.cityId = cityId; this.cityName = cityName; this.address = address; } }

cke_196.png

问题已解决

你的字段名字叫 Object ?换个字段名试试呢?

感谢回复,已经解决了,不是名称的问题

这是使用动态路由模块在传参中遇到的问题,传一个object对象不知道如何解析为我的class对象

在HarmonyOS(鸿蒙)Next的开发环境中,将一个object对象转为class对象通常涉及到反射机制(Reflection)。不过,直接转换一个实例对象到其类类型在Java及基于Java的语言(如Kotlin,HarmonyOS主要使用这些语言)中是有明确方法的。

在Java或Kotlin中,你可以使用object.getClass()方法来获取该对象的运行时类(Class对象)。这是一个标准的操作,用于在运行时检查和操作对象的类型信息。

示例代码如下(Java/Kotlin):

// Java 示例
Object myObject = new MyClass();
Class<?> myClass = myObject.getClass();

// Kotlin 示例
val myObject: Any = MyClass()
val myClass: KClass<*> = myObject::class
// 注意:Kotlin中更常用::class来获取类的KClass引用,若需要Java的Class类型,则使用javaClass
val myJavaClass: Class<*> = myObject.javaClass

以上代码展示了如何从实例对象myObject获取其类类型myClass。在HarmonyOS Next中,这些API同样适用,因为HarmonyOS的Java和Kotlin API与标准Java/Kotlin环境兼容。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部