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}`);
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

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

HarmonyOS
2024-12-27 15:40:13
782浏览
收藏 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}`);
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
分享
微博
QQ
微信
回复
2024-12-27 17:26:02


相关问题
HarmonyOS RN支持重写框架层TurboModule
896浏览 • 1回复 待解决
ArkTS类的方法是否支持重
3375浏览 • 1回复 待解决
HarmonyOS 类可以被继承并重写
882浏览 • 1回复 待解决
java对象hashcode方法有替代api或者库
1710浏览 • 1回复 待解决
ArkTS语言支持语音识别?
2004浏览 • 1回复 待解决
HarmonyOS ArkTS支持TS的抽象类
1119浏览 • 1回复 待解决
HarmonyOS ArkTS支持正则匹配
823浏览 • 1回复 待解决
ArkTS支持反射,有人知道反射用法?
3401浏览 • 1回复 待解决
HarmonyOS ArkTS支持子组件接受泛型T
920浏览 • 1回复 待解决
Arkts支持平行视界功能开发
394浏览 • 1回复 待解决
有谁知道ArkTS支持定时器
3872浏览 • 1回复 待解决
有谁知道ArkTS支持隐式跳转
2843浏览 • 1回复 待解决
ArkTs支持java或者TS Reflect的反射用法
4084浏览 • 1回复 待解决
HarmonyOS 返回键强制监听及重写
1668浏览 • 1回复 待解决
HarmonyOS AKI是否支持引用
719浏览 • 1回复 待解决
HarmonyOS ArkTS select组件如何设置默认
1084浏览 • 1回复 待解决
HarmonyOS 实体类如何重写toString方法
657浏览 • 1回复 待解决
ArkTS如何进行页面间传
2462浏览 • 1回复 待解决