HarmonyOS ArkTS支持重写hashCode值吗?

可以重写类的hashCode方法吗?Map以某个class类型作为key时,要让不同实例但属性值相同时,算出的hash值一致,在Map中存储在同一个位置。

示例代码:

export class TestMap {
  message: string;
  constructor(msg: string) {
    this.message = msg;
  }
}
function test() {
  let test1 = new TestMap("test");
  let test2 = new TestMap("test");
  let testMap = new Map<TestMap, TestMap>();
  testMap.set(test1, test1);
  testMap.set(test2, test2);
  console.log(`testMap size=${testMap.size}`);
}

期望输出为:testMap size=1可以重写TestMap的hashcode方法,实现这一效果吗?

HarmonyOS
19h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

目前文档中暂未提到可支持重写该方法。请尝试如下方法:

export class TestMap {
  message: string;
  constructor(msg: string) {
    this.message = msg;
  }
}
export function Test(){
  let test1 = new TestMap("test");
  let test2 = new TestMap("test");
  let test1Json = JSON.stringify(test1) as string
  let test2Json = JSON.stringify(test2) as string
  let testMap = new Map<string, TestMap>();
  testMap.set(test1Json, test1);
  testMap.set(test2Json, test2);
  console.log(`testMap size=${testMap.size}`);
  console.log(`test1Json=${test1Json}`);
  console.log(`test2Json=${test2Json}`);
}
分享
微博
QQ
微信
回复
18h前
相关问题
HarmonyOS RN支持重写框架层TurboModule
30浏览 • 1回复 待解决
ArkTS类的方法是否支持重
2481浏览 • 1回复 待解决
HarmonyOS 类可以被继承并重写
48浏览 • 1回复 待解决
java对象hashcode方法有替代api或者库
1011浏览 • 1回复 待解决
ArkTS语言支持语音识别?
1127浏览 • 1回复 待解决
HarmonyOS ArkTS支持TS的抽象类
292浏览 • 1回复 待解决
HarmonyOS ArkTS支持正则匹配
5浏览 • 0回复 待解决
ArkTS支持反射,有人知道反射用法?
2430浏览 • 1回复 待解决
ArkTs支持java或者TS Reflect的反射用法
2769浏览 • 1回复 待解决
HarmonyOS 返回键强制监听及重写
906浏览 • 1回复 待解决
有谁知道ArkTS支持隐式跳转
1865浏览 • 1回复 待解决
有谁知道ArkTS支持定时器
2799浏览 • 1回复 待解决
ArkTS如何进行页面间传
1355浏览 • 1回复 待解决
HarmonyOS ArkTS是否支持.9图
35浏览 • 1回复 待解决
HarmonyOS ArkTS里面是否支持renderjs
25浏览 • 1回复 待解决
onBackPress生命周期是什么,如何重写
605浏览 • 1回复 待解决
HarmonyOS 支持VPN
62浏览 • 1回复 待解决