harmony-utils之ObjectUtil,对象工具类

简介: `harmony-utils` 是一款专为 HarmonyOS 开发的功能强大且易于使用的工具库,涵盖对象操作、设备信息、文件处理、数据加密等常用开发功能,帮助开发者快速构建高效稳定的鸿蒙应用。

harmony-utils之ObjectUtil,对象工具类

harmony-utils 简介与说明


harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志,异常捕获、字符、字符串、数字、集合、日期、随机、base64、加密、解密、JSON等一系列的功能和操作,能够满足各种不同的开发需求。
picker_utils 是harmony-utils拆分出来的一个子库,包含PickerUtil、PhotoHelper、ScanUtil。

下载安装
ohpm i @pura/harmony-utils
ohpm i @pura/picker_utils

  //全局初始化方法,在UIAbility的onCreate方法中初始化 AppUtil.init()
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    AppUtil.init(this.context);
  }

API方法与使用


getHash 获取对象的Hash值
let user: User = new User();
let hash1 = ObjectUtil.getHash(user);
getClassName 获取对象的Class名称
let user: User = new User();
let name1 = ObjectUtil.getClassName(user);
getMethodsNames 获取对象的所有方法名
let user: User = new User();
let methodsNames1 = ObjectUtil.getMethodsNames(this.user);
isString 判断是否是String
let user: User = new User();
let obj: String = new String("abcd@1234");
let bl1 = ObjectUtil.isString(user);
let bl2 = ObjectUtil.isString(obj);
isNull 判断对象是否为空
let user: User = new User();
let bl1 = ObjectUtil.isString(user)
isEmpty 判断属性内容是否为空
let user: User = new User();
let obj: String = new String();
let bl1 = ObjectUtil.isEmpty(user);
let bl2 = ObjectUtil.isEmpty(obj);
shallowCopy 浅拷贝
let user: User = new User();
let user1 = ObjectUtil.shallowCopy(user);
deepCopy 深度拷贝对象
let user: User = new User();
let user2: User = ObjectUtil.deepCopy(user);
assign 合并两个或多个对象
let user: User = new User();
let obj1: Record<string, Object> = { "xx_age": 20, "xx_name": "张呵呵" };
let obj2: Record<string, Object> = { "my_age": 20, "my_name": "张叁三" };
let user3 = ObjectUtil.assign(obj1, obj2, user);
objToClass obj转class,解决obj as class后丢失方法的问题
let user: User = new User();
let user4 = ObjectUtil.objToClass(User, user);
deleteRecord 删除Record中的元素
let record: Record<string, Object> = { "name": "张若楠", "age": 18, "work": "演员", "addr": "上海市" };
let recordStr = JSON.stringify(record);
ObjectUtil.deleteRecord(record,"work");
getValue 通过key获取对象值
let user: User = new User();
let name = ObjectUtil.getValue<string>(user, "name");
setValue 给对象obj动态添加或者修改属性
let user: User = new User();
ObjectUtil.setValue(user, "name", "张若喃");
ObjectUtil.setValue(user, "work", "女演员啊");
ObjectUtil.setValue(user, "job", "女演员");

创作不易,请给童长老点赞👍


https://github.com/787107497/harmony-utils
https://gitee.com/tongyuyan/harmony-utils
OpenHarmony三方库

目录
相关文章
|
6月前
|
人工智能 弹性计算 安全
阿里云最新云产品组合购活动参考:云服务器ECS、域名、建站、AI等相关产品组合套餐
阿里云组合GO活动提供精选云产品组合,覆盖90%以上上云场景,组合购买享超值折扣。活动包括AI模型服务与推理,助力AI应用快速创新;15元AI建站套餐,含云资源和.CN域名;热卖场景组合购,助力开发者高效上云;还有轻松部署服务,快速搭建自有网站。同时,提供全方位安全防护,保障业务稳定运行,以及精准数据分析与高效迁移服务,打造无忧开发体验。阿里云为开发者及企业提供高效、安全、经济的上云解决方案。
606 4
el-tree技巧之只能选中最后一层级的子节点以及查找树结构第一个无子节点的叶节点
el-tree技巧之只能选中最后一层级的子节点以及查找树结构第一个无子节点的叶节点
|
缓存 JSON JavaScript
鸿蒙开发实现图片上传(上传用户头像)
本内容介绍了一种基于HarmonyOS的应用场景,主要实现图片选择、拷贝到缓存目录以及上传的功能。首先通过系统文件选择器(FilePicker)选择图片,无需额外权限;接着使用`fs`模块将选中的图片复制到应用缓存目录(cacheDir),以满足上传功能的路径要求;最后利用`request.uploadFile`方法将图片上传至服务器,并处理响应结果。代码详细展示了每个步骤的实现逻辑,包括图片选择、文件操作和网络请求,适用于需要实现图片上传功能的开发者。
1314 13
|
安全 开发工具
HarmonyOS NEXT实战:通过微信分享内容
本教程介绍如何在HarmonyOS Next项目中接入微信SDK,实现内容分享功能。涵盖环境搭建、代码集成及分享图文、网页等内容的具体实现方式,适用于教育类应用快速集成社交分享能力。
517 0
|
容器
【HarmonyOS】HMRouter使用详解(一)环境配置
在项目中使用官方推荐的Navigation时,需要在所有的页面上都添加一层NavDestination,在代码阅读上会增加多个层级,而且还要在主页面设置对应名字的跳转等问题,配置起来比较繁琐。看到大佬开发的HMRouter使用起来方便简洁,因此,写下这篇文章记录HMRouter的使用。
857 8
【HarmonyOS】HMRouter使用详解(一)环境配置
|
开发者
鸿蒙next版开发:ArkTS组件通用属性(组件标识)
在HarmonyOS 5.0中,ArkTS的组件标识(ID)为每个组件提供唯一标识符,方便开发者引用和操作组件。本文详细解读了id和key属性的使用方法,并提供了示例代码,展示了如何通过组件标识获取属性、发送事件及动态操作组件。
1365 1
Flutter仿Boss-4.短信验证码界面
Flutter仿Boss-4.短信验证码界面
496 0
Flutter仿Boss-4.短信验证码界面
|
SQL Oracle 关系型数据库
数据库基础教程的全面总结与学习路径
数据库基础教程的全面总结与学习路径
|
开发工具 git
git报错 Unable to create ‘D:/project/xxx/.git/index.lock‘: File exists.
git报错 Unable to create ‘D:/project/xxx/.git/index.lock‘: File exists.
2490 1
element plus 可选择树形组件(el-tree) 怎样一键展开/收起?实现方法详解
element plus 可选择树形组件(el-tree) 怎样一键展开/收起?实现方法详解
2895 2
element plus 可选择树形组件(el-tree) 怎样一键展开/收起?实现方法详解