1e41f4b71Sopenharmony_ci# @ohos.util (util工具函数) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci该模块主要提供常用的工具函数,实现字符串编解码([TextEncoder](#textencoder),[TextDecoder](#textdecoder))、有理数运算([RationalNumber<sup>8+</sup>](#rationalnumber8))、缓冲区管理([LRUCache<sup>9+</sup>](#lrucache9))、范围判断([ScopeHelper<sup>9+</sup>](#scopehelper9))、Base64编解码([Base64Helper<sup>9+</sup>](#base64helper9))、内置对象类型检查([types<sup>8+</sup>](#types8)、对方法进行插桩和替换([Aspect<sup>11+</sup>](#aspect11))等功能。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **说明:** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci## 导入模块 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci```ts 13e41f4b71Sopenharmony_ciimport { util } from '@kit.ArkTS'; 14e41f4b71Sopenharmony_ci``` 15e41f4b71Sopenharmony_ci## util.format<sup>9+</sup> 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ciformat(format: string, ...args: Object[]): string 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci通过式样化字符串对输入的内容按特定格式输出。 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci**参数:** 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 28e41f4b71Sopenharmony_ci| ------- | -------- | ---- | -------------- | 29e41f4b71Sopenharmony_ci| format | string | 是 | 格式化字符串,可以包含零个或多个占位符,用于指定要插入的参数的位置和格式。 | 30e41f4b71Sopenharmony_ci| ...args | Object[] | 否 | 替换format参数中占位符的数据,此参数缺失时,默认返回第一个参数。| 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ci**返回值:** 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ci| 类型 | 说明 | 35e41f4b71Sopenharmony_ci| ------ | -----------------| 36e41f4b71Sopenharmony_ci| string | 格式化后的字符串。 | 37e41f4b71Sopenharmony_ci 38e41f4b71Sopenharmony_ci**错误码:** 39e41f4b71Sopenharmony_ci 40e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 43e41f4b71Sopenharmony_ci| -------- | -------- | 44e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci**格式说明符:** 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci| 格式说明符 | 说明 | 49e41f4b71Sopenharmony_ci| ------ | -------------------------------- | 50e41f4b71Sopenharmony_ci| %s | 将参数转换为字符串,用于除Object,BigInt和-0之外的所有值。| 51e41f4b71Sopenharmony_ci| %d | 将参数作为十进制整数进行格式化输出,用于除Symbol和BigInt之外的所有值。| 52e41f4b71Sopenharmony_ci| %i | 将字符串转换为十进制整数,用于除BigInt和Symbol之外的所有值。| 53e41f4b71Sopenharmony_ci| %f | 将字符串转换为浮点数,用于除Bigint和Symbol之外的所有值。| 54e41f4b71Sopenharmony_ci| %j | 将JavaScript对象转换为JSON字符串进行格式化输出。| 55e41f4b71Sopenharmony_ci| %o | 用于将JavaScript对象进行格式化输出,将对象转换为字符串表示,但不包含对象的原型链信息。| 56e41f4b71Sopenharmony_ci| %O | 用于将JavaScript对象进行格式化输出,将对象转换为字符串表示。| 57e41f4b71Sopenharmony_ci| %c | 只在浏览器环境中有效。其余环境不会产生样式效果。| 58e41f4b71Sopenharmony_ci| %% | 转义百分号的特殊格式化占位符。| 59e41f4b71Sopenharmony_ci 60e41f4b71Sopenharmony_ci**示例:** 61e41f4b71Sopenharmony_ci 62e41f4b71Sopenharmony_ci```ts 63e41f4b71Sopenharmony_ciimport { util } from '@kit.ArkTS'; 64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ciinterface utilAddresstype { 66e41f4b71Sopenharmony_ci city: string; 67e41f4b71Sopenharmony_ci country: string; 68e41f4b71Sopenharmony_ci} 69e41f4b71Sopenharmony_ciinterface utilPersontype { 70e41f4b71Sopenharmony_ci name: string; 71e41f4b71Sopenharmony_ci age: number; 72e41f4b71Sopenharmony_ci address: utilAddresstype; 73e41f4b71Sopenharmony_ci} 74e41f4b71Sopenharmony_ci 75e41f4b71Sopenharmony_cilet name = 'John'; 76e41f4b71Sopenharmony_cilet age = 20; 77e41f4b71Sopenharmony_cilet formattedString = util.format('My name is %s and I am %s years old', name, age); 78e41f4b71Sopenharmony_ciconsole.info(formattedString); 79e41f4b71Sopenharmony_ci// 输出结果:My name is John and I am 20 years old 80e41f4b71Sopenharmony_cilet num = 10.5; 81e41f4b71Sopenharmony_ciformattedString = util.format('The number is %d', num); 82e41f4b71Sopenharmony_ciconsole.info(formattedString); 83e41f4b71Sopenharmony_ci// 输出结果:The number is 10.5 84e41f4b71Sopenharmony_cinum = 100.5; 85e41f4b71Sopenharmony_ciformattedString = util.format('The number is %i', num); 86e41f4b71Sopenharmony_ciconsole.info(formattedString); 87e41f4b71Sopenharmony_ci// 输出结果:The number is 100 88e41f4b71Sopenharmony_ciconst pi = 3.141592653; 89e41f4b71Sopenharmony_ciformattedString = util.format('The value of pi is %f', pi); 90e41f4b71Sopenharmony_ciconsole.info(formattedString); 91e41f4b71Sopenharmony_ci// 输出结果:The value of pi is 3.141592653 92e41f4b71Sopenharmony_ciconst obj: Record<string,number | string> = { "name": 'John', "age": 20 }; 93e41f4b71Sopenharmony_ciformattedString = util.format('The object is %j', obj); 94e41f4b71Sopenharmony_ciconsole.info(formattedString); 95e41f4b71Sopenharmony_ci// 输出结果:The object is {"name":"John","age":20} 96e41f4b71Sopenharmony_ciconst person: utilPersontype = { 97e41f4b71Sopenharmony_ci name: 'John', 98e41f4b71Sopenharmony_ci age: 20, 99e41f4b71Sopenharmony_ci address: { 100e41f4b71Sopenharmony_ci city: 'New York', 101e41f4b71Sopenharmony_ci country: 'USA' 102e41f4b71Sopenharmony_ci } 103e41f4b71Sopenharmony_ci}; 104e41f4b71Sopenharmony_ciconsole.info(util.format('Formatted object using %%O: %O', person)); 105e41f4b71Sopenharmony_ciconsole.info(util.format('Formatted object using %%o: %o', person)); 106e41f4b71Sopenharmony_ci/* 107e41f4b71Sopenharmony_ci输出结果: 108e41f4b71Sopenharmony_ciFormatted object using %O: { name: 'John', 109e41f4b71Sopenharmony_ci age: 20, 110e41f4b71Sopenharmony_ci address: 111e41f4b71Sopenharmony_ci { city: 'New York', 112e41f4b71Sopenharmony_ci country: 'USA' } } 113e41f4b71Sopenharmony_ciFormatted object using %o: { name: 'John', 114e41f4b71Sopenharmony_ci age: 20, 115e41f4b71Sopenharmony_ci address: 116e41f4b71Sopenharmony_ci { city: 'New York', 117e41f4b71Sopenharmony_ci country: 'USA' } } 118e41f4b71Sopenharmony_ci*/ 119e41f4b71Sopenharmony_ciconst percentage = 80; 120e41f4b71Sopenharmony_cilet arg = 'homework'; 121e41f4b71Sopenharmony_ciformattedString = util.format('John finished %d%% of the %s', percentage, arg); 122e41f4b71Sopenharmony_ciconsole.info(formattedString); 123e41f4b71Sopenharmony_ci// 输出结果:John finished 80% of the homework 124e41f4b71Sopenharmony_ci``` 125e41f4b71Sopenharmony_ci 126e41f4b71Sopenharmony_ci## util.errnoToString<sup>9+</sup> 127e41f4b71Sopenharmony_ci 128e41f4b71Sopenharmony_cierrnoToString(errno: number): string 129e41f4b71Sopenharmony_ci 130e41f4b71Sopenharmony_ci获取系统错误码对应的详细信息。 131e41f4b71Sopenharmony_ci 132e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 133e41f4b71Sopenharmony_ci 134e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 135e41f4b71Sopenharmony_ci 136e41f4b71Sopenharmony_ci**参数:** 137e41f4b71Sopenharmony_ci 138e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 139e41f4b71Sopenharmony_ci| ------ | ------ | ---- | -------------------------- | 140e41f4b71Sopenharmony_ci| errno | number | 是 | 系统发生错误产生的错误码。 | 141e41f4b71Sopenharmony_ci 142e41f4b71Sopenharmony_ci**返回值:** 143e41f4b71Sopenharmony_ci 144e41f4b71Sopenharmony_ci| 类型 | 说明 | 145e41f4b71Sopenharmony_ci| ------ | ---------------------- | 146e41f4b71Sopenharmony_ci| string | 错误码对应的详细信息。 | 147e41f4b71Sopenharmony_ci 148e41f4b71Sopenharmony_ci**错误码:** 149e41f4b71Sopenharmony_ci 150e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 151e41f4b71Sopenharmony_ci 152e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 153e41f4b71Sopenharmony_ci| -------- | -------- | 154e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 155e41f4b71Sopenharmony_ci 156e41f4b71Sopenharmony_ci**示例:** 157e41f4b71Sopenharmony_ci 158e41f4b71Sopenharmony_ci```ts 159e41f4b71Sopenharmony_cilet errnum = -1; // -1 : a system error number 160e41f4b71Sopenharmony_cilet result = util.errnoToString(errnum); 161e41f4b71Sopenharmony_ciconsole.info("result = " + result); 162e41f4b71Sopenharmony_ci``` 163e41f4b71Sopenharmony_ci 164e41f4b71Sopenharmony_ci**部分错误码及信息示例:** 165e41f4b71Sopenharmony_ci 166e41f4b71Sopenharmony_ci| 错误码 | 信息 | 167e41f4b71Sopenharmony_ci| ------ | -------------------------------- | 168e41f4b71Sopenharmony_ci| -1 | operation not permitted | 169e41f4b71Sopenharmony_ci| -2 | no such file or directory | 170e41f4b71Sopenharmony_ci| -3 | no such process | 171e41f4b71Sopenharmony_ci| -4 | interrupted system call | 172e41f4b71Sopenharmony_ci| -5 | i/o error | 173e41f4b71Sopenharmony_ci| -11 | resource temporarily unavailable | 174e41f4b71Sopenharmony_ci| -12 | not enough memory | 175e41f4b71Sopenharmony_ci| -13 | permission denied | 176e41f4b71Sopenharmony_ci| -100 | network is down | 177e41f4b71Sopenharmony_ci 178e41f4b71Sopenharmony_ci## util.callbackWrapper 179e41f4b71Sopenharmony_ci 180e41f4b71Sopenharmony_cicallbackWrapper(original: Function): (err: Object, value: Object )=>void 181e41f4b71Sopenharmony_ci 182e41f4b71Sopenharmony_ci对异步函数进行回调化处理,回调中第一个参数将是拒绝原因(如果 Promise 已解决,则为 null),第二个参数将是已解决的值。 183e41f4b71Sopenharmony_ci 184e41f4b71Sopenharmony_ci> **说明:** 185e41f4b71Sopenharmony_ci> 186e41f4b71Sopenharmony_ci> 该接口要求参数original必须是异步函数类型。如果传入的参数不是异步函数,不会进行拦截,但是会输出错误信息:"callbackWrapper: The type of Parameter must be AsyncFunction"。 187e41f4b71Sopenharmony_ci 188e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 189e41f4b71Sopenharmony_ci 190e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 191e41f4b71Sopenharmony_ci 192e41f4b71Sopenharmony_ci**参数:** 193e41f4b71Sopenharmony_ci 194e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 195e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 196e41f4b71Sopenharmony_ci| original | Function | 是 | 异步函数。 | 197e41f4b71Sopenharmony_ci 198e41f4b71Sopenharmony_ci**返回值:** 199e41f4b71Sopenharmony_ci 200e41f4b71Sopenharmony_ci| 类型 | 说明 | 201e41f4b71Sopenharmony_ci| -------- | -------- | 202e41f4b71Sopenharmony_ci| Function | 返回一个回调函数,该函数第一个参数err是拒绝原因(如果 Promise 已解决,则为 null),第二个参数value是已解决的值。 | 203e41f4b71Sopenharmony_ci 204e41f4b71Sopenharmony_ci**错误码:** 205e41f4b71Sopenharmony_ci 206e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 207e41f4b71Sopenharmony_ci 208e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 209e41f4b71Sopenharmony_ci| -------- | -------- | 210e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 211e41f4b71Sopenharmony_ci 212e41f4b71Sopenharmony_ci**示例:** 213e41f4b71Sopenharmony_ci 214e41f4b71Sopenharmony_ci```ts 215e41f4b71Sopenharmony_ciasync function fn() { 216e41f4b71Sopenharmony_ci return 'hello world'; 217e41f4b71Sopenharmony_ci} 218e41f4b71Sopenharmony_cilet cb = util.callbackWrapper(fn); 219e41f4b71Sopenharmony_cicb(1, (err : Object, ret : string) => { 220e41f4b71Sopenharmony_ci if (err) throw new Error; 221e41f4b71Sopenharmony_ci console.info(ret); 222e41f4b71Sopenharmony_ci}); 223e41f4b71Sopenharmony_ci``` 224e41f4b71Sopenharmony_ci 225e41f4b71Sopenharmony_ci## util.promisify<sup>9+</sup> 226e41f4b71Sopenharmony_ci 227e41f4b71Sopenharmony_cipromisify(original: (err: Object, value: Object) => void): Function 228e41f4b71Sopenharmony_ci 229e41f4b71Sopenharmony_ci对异步函数处理并返回一个promise的函数。 230e41f4b71Sopenharmony_ci 231e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 232e41f4b71Sopenharmony_ci 233e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 234e41f4b71Sopenharmony_ci 235e41f4b71Sopenharmony_ci**参数:** 236e41f4b71Sopenharmony_ci 237e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 238e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 239e41f4b71Sopenharmony_ci| original | Function | 是 | 回调函数中第一个参数err是拒绝原因(如果 Promise 已解决,则为 null),第二个参数value是已解决的值。 | 240e41f4b71Sopenharmony_ci 241e41f4b71Sopenharmony_ci**返回值:** 242e41f4b71Sopenharmony_ci 243e41f4b71Sopenharmony_ci| 类型 | 说明 | 244e41f4b71Sopenharmony_ci| -------- | -------- | 245e41f4b71Sopenharmony_ci| Function | 返回一个 Promise 的函数。 | 246e41f4b71Sopenharmony_ci 247e41f4b71Sopenharmony_ci**错误码:** 248e41f4b71Sopenharmony_ci 249e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 250e41f4b71Sopenharmony_ci 251e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 252e41f4b71Sopenharmony_ci| -------- | -------- | 253e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 254e41f4b71Sopenharmony_ci 255e41f4b71Sopenharmony_ci**示例:** 256e41f4b71Sopenharmony_ci 257e41f4b71Sopenharmony_ci```ts 258e41f4b71Sopenharmony_ciasync function fn() { 259e41f4b71Sopenharmony_ci return 'hello world'; 260e41f4b71Sopenharmony_ci} 261e41f4b71Sopenharmony_ciconst addCall = util.promisify(util.callbackWrapper(fn)); 262e41f4b71Sopenharmony_ci(async () => { 263e41f4b71Sopenharmony_ci try { 264e41f4b71Sopenharmony_ci let res: string = await addCall(); 265e41f4b71Sopenharmony_ci console.info(res); 266e41f4b71Sopenharmony_ci } catch (err) { 267e41f4b71Sopenharmony_ci console.info(err); 268e41f4b71Sopenharmony_ci } 269e41f4b71Sopenharmony_ci})(); 270e41f4b71Sopenharmony_ci``` 271e41f4b71Sopenharmony_ci 272e41f4b71Sopenharmony_ci## util.generateRandomUUID<sup>9+</sup> 273e41f4b71Sopenharmony_ci 274e41f4b71Sopenharmony_cigenerateRandomUUID(entropyCache?: boolean): string 275e41f4b71Sopenharmony_ci 276e41f4b71Sopenharmony_ci使用加密安全随机数生成器生成随机的RFC 4122版本4的string类型UUID。为了提升性能,此接口会默认使用缓存,即入参为true,最多可缓存128个随机的UUID。当缓存中128个UUID都被使用后,会重新进行一次缓存UUID的生成,以保证UUID的随机性。假如不需要使用缓存的UUID,请将入参设置为false。 277e41f4b71Sopenharmony_ci 278e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 279e41f4b71Sopenharmony_ci 280e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 281e41f4b71Sopenharmony_ci 282e41f4b71Sopenharmony_ci**参数:** 283e41f4b71Sopenharmony_ci 284e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 285e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 286e41f4b71Sopenharmony_ci| entropyCache | boolean | 否 | 是否使用已缓存的UUID, 默认true。 | 287e41f4b71Sopenharmony_ci 288e41f4b71Sopenharmony_ci**返回值:** 289e41f4b71Sopenharmony_ci 290e41f4b71Sopenharmony_ci| 类型 | 说明 | 291e41f4b71Sopenharmony_ci| -------- | -------- | 292e41f4b71Sopenharmony_ci| string | 表示此UUID的字符串。 | 293e41f4b71Sopenharmony_ci 294e41f4b71Sopenharmony_ci**错误码:** 295e41f4b71Sopenharmony_ci 296e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 297e41f4b71Sopenharmony_ci 298e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 299e41f4b71Sopenharmony_ci| -------- | -------- | 300e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | 301e41f4b71Sopenharmony_ci 302e41f4b71Sopenharmony_ci**示例:** 303e41f4b71Sopenharmony_ci 304e41f4b71Sopenharmony_ci```ts 305e41f4b71Sopenharmony_cilet uuid = util.generateRandomUUID(true); 306e41f4b71Sopenharmony_ciconsole.info("RFC 4122 Version 4 UUID:" + uuid); 307e41f4b71Sopenharmony_ci// 输出随机生成的UUID 308e41f4b71Sopenharmony_ci``` 309e41f4b71Sopenharmony_ci 310e41f4b71Sopenharmony_ci## util.generateRandomBinaryUUID<sup>9+</sup> 311e41f4b71Sopenharmony_ci 312e41f4b71Sopenharmony_cigenerateRandomBinaryUUID(entropyCache?: boolean): Uint8Array 313e41f4b71Sopenharmony_ci 314e41f4b71Sopenharmony_ci使用加密安全随机数生成器生成随机的RFC 4122版本4的Uint8Array类型UUID。 315e41f4b71Sopenharmony_ci 316e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 317e41f4b71Sopenharmony_ci 318e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 319e41f4b71Sopenharmony_ci 320e41f4b71Sopenharmony_ci**参数:** 321e41f4b71Sopenharmony_ci 322e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 323e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 324e41f4b71Sopenharmony_ci| entropyCache | boolean | 否 | 是否使用已缓存的UUID, 默认true。 | 325e41f4b71Sopenharmony_ci 326e41f4b71Sopenharmony_ci**返回值:** 327e41f4b71Sopenharmony_ci 328e41f4b71Sopenharmony_ci| 类型 | 说明 | 329e41f4b71Sopenharmony_ci| -------- | -------- | 330e41f4b71Sopenharmony_ci| Uint8Array | 表示此UUID的Uint8Array值。 | 331e41f4b71Sopenharmony_ci 332e41f4b71Sopenharmony_ci**错误码:** 333e41f4b71Sopenharmony_ci 334e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 335e41f4b71Sopenharmony_ci 336e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 337e41f4b71Sopenharmony_ci| -------- | -------- | 338e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | 339e41f4b71Sopenharmony_ci 340e41f4b71Sopenharmony_ci**示例:** 341e41f4b71Sopenharmony_ci 342e41f4b71Sopenharmony_ci```ts 343e41f4b71Sopenharmony_cilet uuid = util.generateRandomBinaryUUID(true); 344e41f4b71Sopenharmony_ciconsole.info(JSON.stringify(uuid)); 345e41f4b71Sopenharmony_ci// 输出随机生成的UUID 346e41f4b71Sopenharmony_ci``` 347e41f4b71Sopenharmony_ci 348e41f4b71Sopenharmony_ci## util.parseUUID<sup>9+</sup> 349e41f4b71Sopenharmony_ci 350e41f4b71Sopenharmony_ciparseUUID(uuid: string): Uint8Array 351e41f4b71Sopenharmony_ci 352e41f4b71Sopenharmony_ci将generateRandomUUID生成的string类型UUID转换为generateRandomBinaryUUID生成的Uint8Array类型UUID,如RFC 4122版本4中所述。 353e41f4b71Sopenharmony_ci 354e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 355e41f4b71Sopenharmony_ci 356e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 357e41f4b71Sopenharmony_ci 358e41f4b71Sopenharmony_ci**参数:** 359e41f4b71Sopenharmony_ci 360e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 361e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 362e41f4b71Sopenharmony_ci| uuid | string | 是 | UUID字符串。 | 363e41f4b71Sopenharmony_ci 364e41f4b71Sopenharmony_ci**返回值:** 365e41f4b71Sopenharmony_ci 366e41f4b71Sopenharmony_ci| 类型 | 说明 | 367e41f4b71Sopenharmony_ci| -------- | -------- | 368e41f4b71Sopenharmony_ci| Uint8Array | 返回表示此UUID的Uint8Array,如果解析失败,则抛出SyntaxError。 | 369e41f4b71Sopenharmony_ci 370e41f4b71Sopenharmony_ci**错误码:** 371e41f4b71Sopenharmony_ci 372e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 373e41f4b71Sopenharmony_ci 374e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 375e41f4b71Sopenharmony_ci| -------- | -------- | 376e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | 377e41f4b71Sopenharmony_ci| 10200002 | Invalid uuid string. | 378e41f4b71Sopenharmony_ci 379e41f4b71Sopenharmony_ci**示例:** 380e41f4b71Sopenharmony_ci 381e41f4b71Sopenharmony_ci```ts 382e41f4b71Sopenharmony_cilet uuid = util.parseUUID("84bdf796-66cc-4655-9b89-d6218d100f9c"); 383e41f4b71Sopenharmony_ciconsole.info(JSON.stringify(uuid)); 384e41f4b71Sopenharmony_ci// 输出: 385e41f4b71Sopenharmony_ci// 132,189,247,150,102,204,70,85,155,137,214,33,141,16,15,156 386e41f4b71Sopenharmony_ci``` 387e41f4b71Sopenharmony_ci 388e41f4b71Sopenharmony_ci## util.printf<sup>(deprecated)</sup> 389e41f4b71Sopenharmony_ci 390e41f4b71Sopenharmony_ciprintf(format: string, ...args: Object[]): string 391e41f4b71Sopenharmony_ci 392e41f4b71Sopenharmony_ci通过式样化字符串对输入的内容按特定格式输出。 393e41f4b71Sopenharmony_ci 394e41f4b71Sopenharmony_ci> **说明:** 395e41f4b71Sopenharmony_ci> 396e41f4b71Sopenharmony_ci> 从API version 7开始支持,从API version 9开始废弃,建议使用[util.format<sup>9+</sup>](#utilformat9)替代。 397e41f4b71Sopenharmony_ci 398e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 399e41f4b71Sopenharmony_ci 400e41f4b71Sopenharmony_ci**参数:** 401e41f4b71Sopenharmony_ci 402e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 403e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 404e41f4b71Sopenharmony_ci| format | string | 是 | 式样化字符串。 | 405e41f4b71Sopenharmony_ci| ...args | Object[] | 否 | 替换式样化字符串通配符的数据,此参数缺失时,默认返回第一个参数。 | 406e41f4b71Sopenharmony_ci 407e41f4b71Sopenharmony_ci**返回值:** 408e41f4b71Sopenharmony_ci 409e41f4b71Sopenharmony_ci| 类型 | 说明 | 410e41f4b71Sopenharmony_ci| -------- | -------- | 411e41f4b71Sopenharmony_ci| string | 按特定格式式样化后的字符串。 | 412e41f4b71Sopenharmony_ci 413e41f4b71Sopenharmony_ci**示例:** 414e41f4b71Sopenharmony_ci 415e41f4b71Sopenharmony_ci```ts 416e41f4b71Sopenharmony_cilet res = util.printf("%s", "hello world!"); 417e41f4b71Sopenharmony_ciconsole.info(res); 418e41f4b71Sopenharmony_ci``` 419e41f4b71Sopenharmony_ci 420e41f4b71Sopenharmony_ci 421e41f4b71Sopenharmony_ci## util.getErrorString<sup>(deprecated)</sup> 422e41f4b71Sopenharmony_ci 423e41f4b71Sopenharmony_cigetErrorString(errno: number): string 424e41f4b71Sopenharmony_ci 425e41f4b71Sopenharmony_ci获取系统错误码对应的详细信息。 426e41f4b71Sopenharmony_ci 427e41f4b71Sopenharmony_ci> **说明:** 428e41f4b71Sopenharmony_ci> 429e41f4b71Sopenharmony_ci> 从API version 7开始支持,从API version 9开始废弃,建议使用[util.errnoToString<sup>9+</sup>](#utilerrnotostring9)替代。 430e41f4b71Sopenharmony_ci 431e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 432e41f4b71Sopenharmony_ci 433e41f4b71Sopenharmony_ci**参数:** 434e41f4b71Sopenharmony_ci 435e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 436e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 437e41f4b71Sopenharmony_ci| errno | number | 是 | 系统发生错误产生的错误码。 | 438e41f4b71Sopenharmony_ci 439e41f4b71Sopenharmony_ci**返回值:** 440e41f4b71Sopenharmony_ci 441e41f4b71Sopenharmony_ci| 类型 | 说明 | 442e41f4b71Sopenharmony_ci| -------- | -------- | 443e41f4b71Sopenharmony_ci| string | 错误码对应的详细信息。 | 444e41f4b71Sopenharmony_ci 445e41f4b71Sopenharmony_ci**示例:** 446e41f4b71Sopenharmony_ci 447e41f4b71Sopenharmony_ci```ts 448e41f4b71Sopenharmony_cilet errnum = -1; // -1 : a system error number 449e41f4b71Sopenharmony_cilet result = util.getErrorString(errnum); 450e41f4b71Sopenharmony_ciconsole.info("result = " + result); 451e41f4b71Sopenharmony_ci``` 452e41f4b71Sopenharmony_ci 453e41f4b71Sopenharmony_ci## util.promiseWrapper<sup>(deprecated)</sup> 454e41f4b71Sopenharmony_ci 455e41f4b71Sopenharmony_cipromiseWrapper(original: (err: Object, value: Object) => void): Object 456e41f4b71Sopenharmony_ci 457e41f4b71Sopenharmony_ci对异步函数处理并返回一个promise的版本。 458e41f4b71Sopenharmony_ci 459e41f4b71Sopenharmony_ci> **说明:** 460e41f4b71Sopenharmony_ci> 461e41f4b71Sopenharmony_ci> 此接口不可用,建议使用[util.promisify<sup>9+</sup>](#utilpromisify9)替代。 462e41f4b71Sopenharmony_ci 463e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 464e41f4b71Sopenharmony_ci 465e41f4b71Sopenharmony_ci**参数:** 466e41f4b71Sopenharmony_ci 467e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 468e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 469e41f4b71Sopenharmony_ci| original | Function | 是 | 异步函数。 | 470e41f4b71Sopenharmony_ci 471e41f4b71Sopenharmony_ci**返回值:** 472e41f4b71Sopenharmony_ci 473e41f4b71Sopenharmony_ci| 类型 | 说明 | 474e41f4b71Sopenharmony_ci| -------- | -------- | 475e41f4b71Sopenharmony_ci| Function | 采用遵循常见的错误优先的回调风格的函数(也就是将 (err, value) => ... 回调作为最后一个参数),并返回一个返回 promise 的版本。 | 476e41f4b71Sopenharmony_ci 477e41f4b71Sopenharmony_ci 478e41f4b71Sopenharmony_ci## util.getHash<sup>12+</sup> 479e41f4b71Sopenharmony_ci 480e41f4b71Sopenharmony_cigetHash(object: object): number 481e41f4b71Sopenharmony_ci 482e41f4b71Sopenharmony_ci获取对象的Hash值。如果是第一次获取,则计算Hash值并保存到对象的Hash域(返回随机的Hash值);如果不是第一次获取,则从Hash域中获取并返回Hash值(同一对象多次返回值保持不变)。 483e41f4b71Sopenharmony_ci 484e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。 485e41f4b71Sopenharmony_ci 486e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 487e41f4b71Sopenharmony_ci 488e41f4b71Sopenharmony_ci**参数:** 489e41f4b71Sopenharmony_ci 490e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 491e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 492e41f4b71Sopenharmony_ci| object | object | 是 | 希望获取Hash值的对象。 | 493e41f4b71Sopenharmony_ci 494e41f4b71Sopenharmony_ci**返回值:** 495e41f4b71Sopenharmony_ci 496e41f4b71Sopenharmony_ci| 类型 | 说明 | 497e41f4b71Sopenharmony_ci| -------- | -------- | 498e41f4b71Sopenharmony_ci| number | Hash值。 | 499e41f4b71Sopenharmony_ci 500e41f4b71Sopenharmony_ci**错误码:** 501e41f4b71Sopenharmony_ci 502e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 503e41f4b71Sopenharmony_ci 504e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 505e41f4b71Sopenharmony_ci| -------- | -------- | 506e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 507e41f4b71Sopenharmony_ci 508e41f4b71Sopenharmony_ci**示例:** 509e41f4b71Sopenharmony_ci 510e41f4b71Sopenharmony_ci```ts 511e41f4b71Sopenharmony_ciinterface Person { 512e41f4b71Sopenharmony_ci name: string, 513e41f4b71Sopenharmony_ci age: number 514e41f4b71Sopenharmony_ci} 515e41f4b71Sopenharmony_cilet obj: Person = { name: 'Jack', age: 20 }; 516e41f4b71Sopenharmony_cilet result1 = util.getHash(obj); 517e41f4b71Sopenharmony_ciconsole.info('result1 is ' + result1); 518e41f4b71Sopenharmony_cilet result2 = util.getHash(obj); 519e41f4b71Sopenharmony_ciconsole.info('result2 is ' + result2); 520e41f4b71Sopenharmony_ci// 输出:result1 与 result2 的值相等,且为随机的Hash值。 521e41f4b71Sopenharmony_ci``` 522e41f4b71Sopenharmony_ci 523e41f4b71Sopenharmony_ci 524e41f4b71Sopenharmony_ci## TextDecoderOptions<sup>11+</sup> 525e41f4b71Sopenharmony_ci 526e41f4b71Sopenharmony_ci解码相关选项参数,存在两个属性fatal和ignoreBOM。 527e41f4b71Sopenharmony_ci 528e41f4b71Sopenharmony_ci**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 529e41f4b71Sopenharmony_ci 530e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 531e41f4b71Sopenharmony_ci 532e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 533e41f4b71Sopenharmony_ci| --------- | -------- | ---- | ------------------ | 534e41f4b71Sopenharmony_ci| fatal | boolean | 否 | 是否显示致命错误,默认值是false。 | 535e41f4b71Sopenharmony_ci| ignoreBOM | boolean | 否 | 是否忽略BOM标记,默认值是false。 | 536e41f4b71Sopenharmony_ci 537e41f4b71Sopenharmony_ci## DecodeToStringOptions<sup>12+</sup> 538e41f4b71Sopenharmony_ci 539e41f4b71Sopenharmony_ci解码是否使用流处理方式。 540e41f4b71Sopenharmony_ci 541e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。 542e41f4b71Sopenharmony_ci 543e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 544e41f4b71Sopenharmony_ci 545e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 546e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 547e41f4b71Sopenharmony_ci| stream | boolean | 否 | 输入末尾出现的不完整字节序列是否需要追加在下次调用decodeToString的参数中处理。设置为true,则不完整的字节序列会存储在内部缓存区直到下次调用该函数,false则会在当前调用时直接解码。默认为false。 | 548e41f4b71Sopenharmony_ci 549e41f4b71Sopenharmony_ci## DecodeWithStreamOptions<sup>11+</sup> 550e41f4b71Sopenharmony_ci 551e41f4b71Sopenharmony_ci解码是否跟随附加数据块相关选项参数。 552e41f4b71Sopenharmony_ci 553e41f4b71Sopenharmony_ci**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 554e41f4b71Sopenharmony_ci 555e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 556e41f4b71Sopenharmony_ci 557e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 558e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 559e41f4b71Sopenharmony_ci| stream | boolean | 否 | 在随后的decodeWithStream()调用中是否跟随附加数据块。如果以块的形式处理数据,则设置为true;如果处理最后的数据块或数据未分块,则设置为false。默认为false。 | 560e41f4b71Sopenharmony_ci 561e41f4b71Sopenharmony_ci## Aspect<sup>11+</sup> 562e41f4b71Sopenharmony_ci 563e41f4b71Sopenharmony_ciAspect类用于封装提供切面能力(Aspect Oriented Programming,简写AOP)的接口,这些接口可以用来对类方法进行前后插桩或者替换实现。 564e41f4b71Sopenharmony_ci 565e41f4b71Sopenharmony_ci### addBefore<sup>11+</sup> 566e41f4b71Sopenharmony_ci 567e41f4b71Sopenharmony_cistatic addBefore(targetClass: Object, methodName: string, isStatic: boolean, before: Function): void 568e41f4b71Sopenharmony_ci 569e41f4b71Sopenharmony_ci在指定的类对象的原方法执行前插入一个函数。addBefore接口执行完成后,都会先执行插入的函数逻辑,再执行指定类对象的原方法。 570e41f4b71Sopenharmony_ci 571e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 572e41f4b71Sopenharmony_ci 573e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 574e41f4b71Sopenharmony_ci 575e41f4b71Sopenharmony_ci**参数:** 576e41f4b71Sopenharmony_ci 577e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 578e41f4b71Sopenharmony_ci| -------- | ------- | ---- | -------------------------------------| 579e41f4b71Sopenharmony_ci| targetClass | Object | 是 | 指定的类对象。 | 580e41f4b71Sopenharmony_ci| methodName | string | 是 | 指定的方法名,不支持read-only方法。 | 581e41f4b71Sopenharmony_ci| isStatic | boolean | 是 | 指定的原方法是否为静态方法,true表示静态方法,false表示实例方法。 | 582e41f4b71Sopenharmony_ci| before | Function | 是 | 要插入的函数对象。函数有参数,则第一个参数是this对象(若isStatic为true,则为类对象即targetClass;若isStatic为false,则为调用方法的实例对象),其余参数是原方法的参数。函数也可以无参数,无参时不做处理。 | 583e41f4b71Sopenharmony_ci 584e41f4b71Sopenharmony_ci**错误码:** 585e41f4b71Sopenharmony_ci 586e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 587e41f4b71Sopenharmony_ci 588e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 589e41f4b71Sopenharmony_ci| -------- | -------- | 590e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 591e41f4b71Sopenharmony_ci 592e41f4b71Sopenharmony_ci**示例:** 593e41f4b71Sopenharmony_ci 594e41f4b71Sopenharmony_ci```ts 595e41f4b71Sopenharmony_ciclass MyClass { 596e41f4b71Sopenharmony_ci msg: string = 'msg000'; 597e41f4b71Sopenharmony_ci foo(arg: string): string { 598e41f4b71Sopenharmony_ci console.info('foo arg is ' + arg); 599e41f4b71Sopenharmony_ci return this.msg; 600e41f4b71Sopenharmony_ci } 601e41f4b71Sopenharmony_ci 602e41f4b71Sopenharmony_ci static data: string = 'data000'; 603e41f4b71Sopenharmony_ci static bar(arg: string): string { 604e41f4b71Sopenharmony_ci console.info('bar arg is ' + arg); 605e41f4b71Sopenharmony_ci return MyClass.data; 606e41f4b71Sopenharmony_ci } 607e41f4b71Sopenharmony_ci} 608e41f4b71Sopenharmony_ci 609e41f4b71Sopenharmony_cilet asp = new MyClass(); 610e41f4b71Sopenharmony_cilet result = asp.foo('123'); 611e41f4b71Sopenharmony_ci// 输出结果:foo arg is 123 612e41f4b71Sopenharmony_ciconsole.info('result is ' + result); 613e41f4b71Sopenharmony_ci// 输出结果:result is msg000 614e41f4b71Sopenharmony_ciconsole.info('asp.msg is ' + asp.msg); 615e41f4b71Sopenharmony_ci// 输出结果:asp.msg is msg000 616e41f4b71Sopenharmony_ci 617e41f4b71Sopenharmony_ciutil.Aspect.addBefore(MyClass, 'foo', false, (instance: MyClass, arg: string) => { 618e41f4b71Sopenharmony_ci console.info('arg is ' + arg); 619e41f4b71Sopenharmony_ci instance.msg = 'msg111'; 620e41f4b71Sopenharmony_ci console.info('msg is changed to ' + instance.msg) 621e41f4b71Sopenharmony_ci}); 622e41f4b71Sopenharmony_ci 623e41f4b71Sopenharmony_ciresult = asp.foo('123'); 624e41f4b71Sopenharmony_ci// 输出结果:arg is 123 625e41f4b71Sopenharmony_ci// 输出结果:msg is changed to msg111 626e41f4b71Sopenharmony_ci// 输出结果:foo arg is 123 627e41f4b71Sopenharmony_ciconsole.info('result is ' + result); 628e41f4b71Sopenharmony_ci// 输出结果:result is msg111 629e41f4b71Sopenharmony_ciconsole.info('asp.msg is ' + asp.msg); 630e41f4b71Sopenharmony_ci// 输出结果:asp.msg is msg111 631e41f4b71Sopenharmony_ci 632e41f4b71Sopenharmony_ci 633e41f4b71Sopenharmony_cilet res = MyClass.bar('456'); 634e41f4b71Sopenharmony_ci// 输出结果:bar arg is 456 635e41f4b71Sopenharmony_ciconsole.info('res is ' + res); 636e41f4b71Sopenharmony_ci// 输出结果:res is data000 637e41f4b71Sopenharmony_ciconsole.info('MyClass.data is ' + MyClass.data); 638e41f4b71Sopenharmony_ci// 输出结果:MyClass.data is data000 639e41f4b71Sopenharmony_ci 640e41f4b71Sopenharmony_ciutil.Aspect.addBefore(MyClass, 'bar', true, (target: Object, arg: string) => { 641e41f4b71Sopenharmony_ci console.info('arg is ' + arg); 642e41f4b71Sopenharmony_ci let newVal = 'data111'; 643e41f4b71Sopenharmony_ci Reflect.set(target, 'data', newVal); 644e41f4b71Sopenharmony_ci console.info('data is changed to ' + newVal); 645e41f4b71Sopenharmony_ci}); 646e41f4b71Sopenharmony_ci 647e41f4b71Sopenharmony_cires = MyClass.bar('456'); 648e41f4b71Sopenharmony_ci// 输出结果:arg is 456 649e41f4b71Sopenharmony_ci// 输出结果:data is changed to data111 650e41f4b71Sopenharmony_ci// 输出结果:bar arg is 456 651e41f4b71Sopenharmony_ciconsole.info('res is ' + res); 652e41f4b71Sopenharmony_ci// 输出结果:res is data111 653e41f4b71Sopenharmony_ciconsole.info('MyClass.data is ' + MyClass.data); 654e41f4b71Sopenharmony_ci// 输出结果:MyClass.data is data111 655e41f4b71Sopenharmony_ci``` 656e41f4b71Sopenharmony_ci 657e41f4b71Sopenharmony_ci### addAfter<sup>11+</sup> 658e41f4b71Sopenharmony_ci 659e41f4b71Sopenharmony_cistatic addAfter(targetClass: Object, methodName: string, isStatic: boolean, after: Function): void 660e41f4b71Sopenharmony_ci 661e41f4b71Sopenharmony_ci在指定的类方法执行后插入一段逻辑。最终返回值是插入函数执行后的返回值。 662e41f4b71Sopenharmony_ci 663e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 664e41f4b71Sopenharmony_ci 665e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 666e41f4b71Sopenharmony_ci 667e41f4b71Sopenharmony_ci**参数:** 668e41f4b71Sopenharmony_ci 669e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 670e41f4b71Sopenharmony_ci| -------- | ------- | ---- | -------------------------------------| 671e41f4b71Sopenharmony_ci| targetClass | Object | 是 | 指定的类对象。 | 672e41f4b71Sopenharmony_ci| methodName | string | 是 | 指定的原方法名,不支持read-only方法。 | 673e41f4b71Sopenharmony_ci| isStatic | boolean | 是 | 指定的原方法是否为静态方法,true表示静态方法,false表示实例方法。 | 674e41f4b71Sopenharmony_ci| after | Function | 是 | 要插入的函数。函数有参数时,则第一个参数是this对象(若isStatic为true,则为类对象即targetClass;若isStatic为false,则为调用方法的实例对象),第二个参数是原方法的返回值(如果原方法没有返回值,则为undefined),其余参数是原方法的参数。函数也可以无参,无参时不做处理。 | 675e41f4b71Sopenharmony_ci 676e41f4b71Sopenharmony_ci**错误码:** 677e41f4b71Sopenharmony_ci 678e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 679e41f4b71Sopenharmony_ci 680e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 681e41f4b71Sopenharmony_ci| -------- | -------- | 682e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 683e41f4b71Sopenharmony_ci 684e41f4b71Sopenharmony_ci**示例:** 685e41f4b71Sopenharmony_ci 686e41f4b71Sopenharmony_ci```ts 687e41f4b71Sopenharmony_ciclass MyClass { 688e41f4b71Sopenharmony_ci msg: string = 'msg000'; 689e41f4b71Sopenharmony_ci foo(arg: string): string { 690e41f4b71Sopenharmony_ci console.info('foo arg is ' + arg); 691e41f4b71Sopenharmony_ci return this.msg; 692e41f4b71Sopenharmony_ci } 693e41f4b71Sopenharmony_ci} 694e41f4b71Sopenharmony_ci 695e41f4b71Sopenharmony_cilet asp = new MyClass(); 696e41f4b71Sopenharmony_cilet result = asp.foo('123'); 697e41f4b71Sopenharmony_ci// 输出结果:foo arg is 123 698e41f4b71Sopenharmony_ciconsole.info('result is ' + result); 699e41f4b71Sopenharmony_ci// 输出结果:result is msg000 700e41f4b71Sopenharmony_ciconsole.info('asp.msg is ' + asp.msg); 701e41f4b71Sopenharmony_ci// 输出结果:asp.msg is msg000 702e41f4b71Sopenharmony_ci 703e41f4b71Sopenharmony_ciutil.Aspect.addAfter(MyClass, 'foo', false, (instance: MyClass, ret: string, arg: string): string => { 704e41f4b71Sopenharmony_ci console.info('arg is ' + arg); 705e41f4b71Sopenharmony_ci console.info('ret is ' + ret); 706e41f4b71Sopenharmony_ci instance.msg = 'msg111'; 707e41f4b71Sopenharmony_ci console.info('msg is changed to ' + instance.msg); 708e41f4b71Sopenharmony_ci return 'msg222'; 709e41f4b71Sopenharmony_ci}); 710e41f4b71Sopenharmony_ci 711e41f4b71Sopenharmony_ciresult = asp.foo('123'); 712e41f4b71Sopenharmony_ci// 输出结果:foo arg is 123 713e41f4b71Sopenharmony_ci// 输出结果:arg is 123 714e41f4b71Sopenharmony_ci// 输出结果:ret is msg000 715e41f4b71Sopenharmony_ci// 输出结果:msg is changed to msg111 716e41f4b71Sopenharmony_ciconsole.info('result is ' + result); 717e41f4b71Sopenharmony_ci// 输出结果:result is msg222 718e41f4b71Sopenharmony_ciconsole.info('asp.msg is ' + asp.msg); 719e41f4b71Sopenharmony_ci// 输出结果:asp.msg is msg111 720e41f4b71Sopenharmony_ci 721e41f4b71Sopenharmony_ci// 前后插桩的例子 722e41f4b71Sopenharmony_ciclass AroundTest { 723e41f4b71Sopenharmony_ci foo(arg: string) { 724e41f4b71Sopenharmony_ci console.info('execute foo with arg ' + arg); 725e41f4b71Sopenharmony_ci } 726e41f4b71Sopenharmony_ci} 727e41f4b71Sopenharmony_ciutil.Aspect.addBefore(AroundTest, 'foo', false, () => { 728e41f4b71Sopenharmony_ci console.info('execute before'); 729e41f4b71Sopenharmony_ci}); 730e41f4b71Sopenharmony_ciutil.Aspect.addAfter(AroundTest, 'foo', false, () => { 731e41f4b71Sopenharmony_ci console.info('execute after'); 732e41f4b71Sopenharmony_ci}); 733e41f4b71Sopenharmony_ci 734e41f4b71Sopenharmony_ci(new AroundTest()).foo('hello'); 735e41f4b71Sopenharmony_ci// 输出结果:execute before 736e41f4b71Sopenharmony_ci// 输出结果:execute foo with arg hello 737e41f4b71Sopenharmony_ci// 输出结果:execute after 738e41f4b71Sopenharmony_ci``` 739e41f4b71Sopenharmony_ci 740e41f4b71Sopenharmony_ci### replace<sup>11+</sup> 741e41f4b71Sopenharmony_ci 742e41f4b71Sopenharmony_cistatic replace(targetClass: Object, methodName: string, isStatic: boolean, instead: Function) : void 743e41f4b71Sopenharmony_ci 744e41f4b71Sopenharmony_ci将指定的类方法的原方法替换为另一个函数。replace接口执行完成后,调用指定的类方法时,只会执行替换后的逻辑。最终返回值为替换函数执行完毕的返回值。 745e41f4b71Sopenharmony_ci 746e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 747e41f4b71Sopenharmony_ci 748e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 749e41f4b71Sopenharmony_ci 750e41f4b71Sopenharmony_ci**参数:** 751e41f4b71Sopenharmony_ci 752e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 753e41f4b71Sopenharmony_ci| -------- | ------- | ---- | -------------------------------------| 754e41f4b71Sopenharmony_ci| targetClass | Object | 是 | 指定的类对象。 | 755e41f4b71Sopenharmony_ci| methodName | string | 是 | 指定的原方法名,不支持read-only方法。 | 756e41f4b71Sopenharmony_ci| isStatic | boolean | 是 | 指定的原方法是否为静态方法,true表示静态方法,false表示实例方法。 | 757e41f4b71Sopenharmony_ci| instead | Function | 是 | 要用来替换原方法的函数。函数有参数时,则第一个参数是this对象(若isStatic为true,则为类对象即targetClass;若isStatic为false,则为调用方法的实例对象),其余参数是原方法的参数。函数也可以无参,无参时不做处理。 | 758e41f4b71Sopenharmony_ci 759e41f4b71Sopenharmony_ci**错误码:** 760e41f4b71Sopenharmony_ci 761e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 762e41f4b71Sopenharmony_ci 763e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 764e41f4b71Sopenharmony_ci| -------- | -------- | 765e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 766e41f4b71Sopenharmony_ci 767e41f4b71Sopenharmony_ci**示例:** 768e41f4b71Sopenharmony_ci 769e41f4b71Sopenharmony_ci```ts 770e41f4b71Sopenharmony_ciclass MyClass { 771e41f4b71Sopenharmony_ci msg: string = 'msg000'; 772e41f4b71Sopenharmony_ci foo(arg: string): string { 773e41f4b71Sopenharmony_ci console.info('foo arg is ' + arg); 774e41f4b71Sopenharmony_ci return this.msg; 775e41f4b71Sopenharmony_ci } 776e41f4b71Sopenharmony_ci} 777e41f4b71Sopenharmony_ci 778e41f4b71Sopenharmony_cilet asp = new MyClass(); 779e41f4b71Sopenharmony_cilet result = asp.foo('123'); 780e41f4b71Sopenharmony_ci// 输出结果:foo arg is 123 781e41f4b71Sopenharmony_ciconsole.info('result is ' + result); 782e41f4b71Sopenharmony_ci// 输出结果:result is msg000 783e41f4b71Sopenharmony_ciconsole.info('asp.msg is ' + asp.msg); 784e41f4b71Sopenharmony_ci// 输出结果:asp.msg is msg000 785e41f4b71Sopenharmony_ci 786e41f4b71Sopenharmony_ciutil.Aspect.replace(MyClass, 'foo', false, (instance: MyClass, arg: string): string => { 787e41f4b71Sopenharmony_ci console.info('execute instead') 788e41f4b71Sopenharmony_ci console.info('arg is ' + arg); 789e41f4b71Sopenharmony_ci instance.msg = 'msg111'; 790e41f4b71Sopenharmony_ci console.info('msg is changed to ' + instance.msg); 791e41f4b71Sopenharmony_ci return 'msg222'; 792e41f4b71Sopenharmony_ci}); 793e41f4b71Sopenharmony_ci 794e41f4b71Sopenharmony_ciresult = asp.foo('123'); 795e41f4b71Sopenharmony_ci// 输出结果:execute instead 796e41f4b71Sopenharmony_ci// 输出结果:arg is 123 797e41f4b71Sopenharmony_ci// 输出结果:msg is changed to msg111 798e41f4b71Sopenharmony_ciconsole.info('result is ' + result); 799e41f4b71Sopenharmony_ci// 输出结果:result is msg222 800e41f4b71Sopenharmony_ciconsole.info('asp.msg is ' + asp.msg); 801e41f4b71Sopenharmony_ci// 输出结果:asp.msg is msg111 802e41f4b71Sopenharmony_ci``` 803e41f4b71Sopenharmony_ci 804e41f4b71Sopenharmony_ci## TextDecoder 805e41f4b71Sopenharmony_ci 806e41f4b71Sopenharmony_ciTextDecoder用于将字节数组解码为字符串,可以处理多种编码格式,包括utf-8、utf-16le/be、iso-8859和windows-1251等不同的编码格式。 807e41f4b71Sopenharmony_ci 808e41f4b71Sopenharmony_ci### 属性 809e41f4b71Sopenharmony_ci 810e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 811e41f4b71Sopenharmony_ci 812e41f4b71Sopenharmony_ci**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。 813e41f4b71Sopenharmony_ci 814e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 815e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 816e41f4b71Sopenharmony_ci| encoding | string | 是 | 否 | 编码格式。<br/>- 支持格式:utf-8、ibm866、iso-8859-2、iso-8859-3、iso-8859-4、iso-8859-5、iso-8859-6、iso-8859-7、iso-8859-8、iso-8859-8-i、iso-8859-10、iso-8859-13、iso-8859-14、iso-8859-15、koi8-r、koi8-u、macintosh、windows-874、windows-1250、windows-1251、windows-1252、windows-1253、windows-1254、windows-1255、windows-1256、windows-1257、windows-1258、x-mac-cyrillic、gbk、gb18030、big5、euc-jp、iso-2022-jp、shift_jis、euc-kr、utf-16be、utf-16le、UTF-8、GBK、GB2312、gb2312、GB18030、iso-8859-1。 | 817e41f4b71Sopenharmony_ci| fatal | boolean | 是 | 否 | 是否显示致命错误。 | 818e41f4b71Sopenharmony_ci| ignoreBOM | boolean | 是 | 否 | 是否忽略BOM(byte order marker)标记,默认值为false ,表示解码结果包含BOM标记。 | 819e41f4b71Sopenharmony_ci 820e41f4b71Sopenharmony_ci### constructor<sup>9+</sup> 821e41f4b71Sopenharmony_ci 822e41f4b71Sopenharmony_ciconstructor() 823e41f4b71Sopenharmony_ci 824e41f4b71Sopenharmony_ciTextDecoder的构造函数。 825e41f4b71Sopenharmony_ci 826e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 827e41f4b71Sopenharmony_ci 828e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 829e41f4b71Sopenharmony_ci 830e41f4b71Sopenharmony_ci**示例:** 831e41f4b71Sopenharmony_ci 832e41f4b71Sopenharmony_ci```ts 833e41f4b71Sopenharmony_cilet textDecoder = new util.TextDecoder(); 834e41f4b71Sopenharmony_cilet retStr = textDecoder.encoding; 835e41f4b71Sopenharmony_ci``` 836e41f4b71Sopenharmony_ci### create<sup>9+</sup> 837e41f4b71Sopenharmony_ci 838e41f4b71Sopenharmony_cistatic create(encoding?: string, options?: TextDecoderOptions): TextDecoder 839e41f4b71Sopenharmony_ci 840e41f4b71Sopenharmony_ci替代有参构造功能。 841e41f4b71Sopenharmony_ci 842e41f4b71Sopenharmony_ci**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 843e41f4b71Sopenharmony_ci 844e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 845e41f4b71Sopenharmony_ci 846e41f4b71Sopenharmony_ci**参数:** 847e41f4b71Sopenharmony_ci 848e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 849e41f4b71Sopenharmony_ci| -------- | ------ | ---- | ------------------------------------------------ | 850e41f4b71Sopenharmony_ci| encoding | string | 否 | 编码格式,默认值是'utf-8'。 | 851e41f4b71Sopenharmony_ci| options | [TextDecoderOptions](#textdecoderoptions11) | 否 | 解码相关选项参数,存在两个属性fatal和ignoreBOM。| 852e41f4b71Sopenharmony_ci 853e41f4b71Sopenharmony_ci**错误码:** 854e41f4b71Sopenharmony_ci 855e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 856e41f4b71Sopenharmony_ci 857e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 858e41f4b71Sopenharmony_ci| -------- | -------- | 859e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | 860e41f4b71Sopenharmony_ci 861e41f4b71Sopenharmony_ci**示例:** 862e41f4b71Sopenharmony_ci 863e41f4b71Sopenharmony_ci```ts 864e41f4b71Sopenharmony_cilet textDecoderOptions: util.TextDecoderOptions = { 865e41f4b71Sopenharmony_ci fatal: false, 866e41f4b71Sopenharmony_ci ignoreBOM : true 867e41f4b71Sopenharmony_ci} 868e41f4b71Sopenharmony_cilet textDecoder = util.TextDecoder.create('utf-8', textDecoderOptions); 869e41f4b71Sopenharmony_cilet retStr = textDecoder.encoding; 870e41f4b71Sopenharmony_ci``` 871e41f4b71Sopenharmony_ci 872e41f4b71Sopenharmony_ci### decodeToString<sup>12+</sup> 873e41f4b71Sopenharmony_ci 874e41f4b71Sopenharmony_cidecodeToString(input: Uint8Array, options?: DecodeToStringOptions): string 875e41f4b71Sopenharmony_ci 876e41f4b71Sopenharmony_ci通过输入参数解码后输出对应文本。 877e41f4b71Sopenharmony_ci 878e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。 879e41f4b71Sopenharmony_ci 880e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 881e41f4b71Sopenharmony_ci 882e41f4b71Sopenharmony_ci**参数:** 883e41f4b71Sopenharmony_ci 884e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 885e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 886e41f4b71Sopenharmony_ci| input | Uint8Array | 是 | 符合格式需要解码的数组。 | 887e41f4b71Sopenharmony_ci| options | [DecodeToStringOptions](#decodetostringoptions12) | 否 | 解码相关选项参数。默认undefined。| 888e41f4b71Sopenharmony_ci 889e41f4b71Sopenharmony_ci**返回值:** 890e41f4b71Sopenharmony_ci 891e41f4b71Sopenharmony_ci| 类型 | 说明 | 892e41f4b71Sopenharmony_ci| -------- | -------- | 893e41f4b71Sopenharmony_ci| string | 解码后的数据。 | 894e41f4b71Sopenharmony_ci 895e41f4b71Sopenharmony_ci**错误码:** 896e41f4b71Sopenharmony_ci 897e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 898e41f4b71Sopenharmony_ci 899e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 900e41f4b71Sopenharmony_ci| -------- | -------- | 901e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 902e41f4b71Sopenharmony_ci 903e41f4b71Sopenharmony_ci**示例:** 904e41f4b71Sopenharmony_ci 905e41f4b71Sopenharmony_ci```ts 906e41f4b71Sopenharmony_cilet textDecoderOptions: util.TextDecoderOptions = { 907e41f4b71Sopenharmony_ci fatal: false, 908e41f4b71Sopenharmony_ci ignoreBOM : true 909e41f4b71Sopenharmony_ci} 910e41f4b71Sopenharmony_cilet decodeToStringOptions: util.DecodeToStringOptions = { 911e41f4b71Sopenharmony_ci stream: false 912e41f4b71Sopenharmony_ci} 913e41f4b71Sopenharmony_cilet textDecoder = util.TextDecoder.create('utf-8', textDecoderOptions); 914e41f4b71Sopenharmony_cilet uint8 = new Uint8Array([0xEF, 0xBB, 0xBF, 0x61, 0x62, 0x63]); 915e41f4b71Sopenharmony_cilet retStr = textDecoder.decodeToString(uint8, decodeToStringOptions); 916e41f4b71Sopenharmony_ciconsole.info("retStr = " + retStr); 917e41f4b71Sopenharmony_ci``` 918e41f4b71Sopenharmony_ci 919e41f4b71Sopenharmony_ci### decodeWithStream<sup>(deprecated)</sup> 920e41f4b71Sopenharmony_ci 921e41f4b71Sopenharmony_cidecodeWithStream(input: Uint8Array, options?: DecodeWithStreamOptions): string 922e41f4b71Sopenharmony_ci 923e41f4b71Sopenharmony_ci通过输入参数解码后输出对应文本。当input是一个空数组时,返回值为undefined。 924e41f4b71Sopenharmony_ci 925e41f4b71Sopenharmony_ci> **说明:** 926e41f4b71Sopenharmony_ci> 927e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 12开始废弃,建议使用[decodeToString<sup>12+</sup>](#decodetostring12)替代。 928e41f4b71Sopenharmony_ci 929e41f4b71Sopenharmony_ci**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 930e41f4b71Sopenharmony_ci 931e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 932e41f4b71Sopenharmony_ci 933e41f4b71Sopenharmony_ci**参数:** 934e41f4b71Sopenharmony_ci 935e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 936e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 937e41f4b71Sopenharmony_ci| input | Uint8Array | 是 | 符合格式需要解码的数组。 | 938e41f4b71Sopenharmony_ci| options | [DecodeWithStreamOptions](#decodewithstreamoptions11) | 否 | 解码相关选项参数。 | 939e41f4b71Sopenharmony_ci 940e41f4b71Sopenharmony_ci**返回值:** 941e41f4b71Sopenharmony_ci 942e41f4b71Sopenharmony_ci| 类型 | 说明 | 943e41f4b71Sopenharmony_ci| -------- | -------- | 944e41f4b71Sopenharmony_ci| string | 解码后的数据。 | 945e41f4b71Sopenharmony_ci 946e41f4b71Sopenharmony_ci**错误码:** 947e41f4b71Sopenharmony_ci 948e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 949e41f4b71Sopenharmony_ci 950e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 951e41f4b71Sopenharmony_ci| -------- | -------- | 952e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 953e41f4b71Sopenharmony_ci 954e41f4b71Sopenharmony_ci**示例:** 955e41f4b71Sopenharmony_ci 956e41f4b71Sopenharmony_ci```ts 957e41f4b71Sopenharmony_cilet textDecoderOptions: util.TextDecoderOptions = { 958e41f4b71Sopenharmony_ci fatal: false, 959e41f4b71Sopenharmony_ci ignoreBOM : true 960e41f4b71Sopenharmony_ci} 961e41f4b71Sopenharmony_cilet decodeWithStreamOptions: util.DecodeWithStreamOptions = { 962e41f4b71Sopenharmony_ci stream: false 963e41f4b71Sopenharmony_ci} 964e41f4b71Sopenharmony_cilet textDecoder = util.TextDecoder.create('utf-8', textDecoderOptions); 965e41f4b71Sopenharmony_cilet uint8 = new Uint8Array(6); 966e41f4b71Sopenharmony_ciuint8[0] = 0xEF; 967e41f4b71Sopenharmony_ciuint8[1] = 0xBB; 968e41f4b71Sopenharmony_ciuint8[2] = 0xBF; 969e41f4b71Sopenharmony_ciuint8[3] = 0x61; 970e41f4b71Sopenharmony_ciuint8[4] = 0x62; 971e41f4b71Sopenharmony_ciuint8[5] = 0x63; 972e41f4b71Sopenharmony_ciconsole.info("input num:"); 973e41f4b71Sopenharmony_cilet retStr = textDecoder.decodeWithStream(uint8, decodeWithStreamOptions); 974e41f4b71Sopenharmony_ciconsole.info("retStr = " + retStr); 975e41f4b71Sopenharmony_ci``` 976e41f4b71Sopenharmony_ci 977e41f4b71Sopenharmony_ci### constructor<sup>(deprecated)</sup> 978e41f4b71Sopenharmony_ci 979e41f4b71Sopenharmony_ciconstructor(encoding?: string, options?: { fatal?: boolean; ignoreBOM?: boolean }) 980e41f4b71Sopenharmony_ci 981e41f4b71Sopenharmony_ciTextDecoder的构造函数。 982e41f4b71Sopenharmony_ci 983e41f4b71Sopenharmony_ci> **说明:** 984e41f4b71Sopenharmony_ci> 985e41f4b71Sopenharmony_ci> 从API version 7开始支持,从API version 9开始废弃,建议使用[create<sup>9+</sup>](#create9)替代。 986e41f4b71Sopenharmony_ci 987e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 988e41f4b71Sopenharmony_ci 989e41f4b71Sopenharmony_ci**参数:** 990e41f4b71Sopenharmony_ci 991e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 992e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 993e41f4b71Sopenharmony_ci| encoding | string | 否 | 编码格式,默认值是'utf-8'。 | 994e41f4b71Sopenharmony_ci| options | object | 否 | 解码相关选项参数,存在两个属性fatal和ignoreBOM。 | 995e41f4b71Sopenharmony_ci 996e41f4b71Sopenharmony_ci **表1** options 997e41f4b71Sopenharmony_ci 998e41f4b71Sopenharmony_ci| 名称 | 参数类型 | 必填 | 说明 | 999e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1000e41f4b71Sopenharmony_ci| fatal | boolean | 否 | 是否显示致命错误,默认值是false。 | 1001e41f4b71Sopenharmony_ci| ignoreBOM | boolean | 否 | 是否忽略BOM标记,默认值是false。 | 1002e41f4b71Sopenharmony_ci 1003e41f4b71Sopenharmony_ci**示例:** 1004e41f4b71Sopenharmony_ci 1005e41f4b71Sopenharmony_ci```ts 1006e41f4b71Sopenharmony_cilet textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true}); 1007e41f4b71Sopenharmony_ci``` 1008e41f4b71Sopenharmony_ci 1009e41f4b71Sopenharmony_ci### decode<sup>(deprecated)</sup> 1010e41f4b71Sopenharmony_ci 1011e41f4b71Sopenharmony_cidecode(input: Uint8Array, options?: { stream?: false }): string 1012e41f4b71Sopenharmony_ci 1013e41f4b71Sopenharmony_ci通过输入参数解码后输出对应文本。 1014e41f4b71Sopenharmony_ci 1015e41f4b71Sopenharmony_ci> **说明:** 1016e41f4b71Sopenharmony_ci> 1017e41f4b71Sopenharmony_ci> 从API version 7开始支持,从API version 9开始废弃,建议使用[decodeToString<sup>12+</sup>](#decodetostring12)替代。 1018e41f4b71Sopenharmony_ci 1019e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1020e41f4b71Sopenharmony_ci 1021e41f4b71Sopenharmony_ci**参数:** 1022e41f4b71Sopenharmony_ci 1023e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1024e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1025e41f4b71Sopenharmony_ci| input | Uint8Array | 是 | 符合格式需要解码的数组。 | 1026e41f4b71Sopenharmony_ci| options | object | 否 | 解码相关选项参数。 | 1027e41f4b71Sopenharmony_ci 1028e41f4b71Sopenharmony_ci**表2** options 1029e41f4b71Sopenharmony_ci 1030e41f4b71Sopenharmony_ci| 名称 | 参数类型 | 必填 | 说明 | 1031e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1032e41f4b71Sopenharmony_ci| stream | boolean | 否 | 在随后的decode()调用中是否跟随附加数据块。如果以块的形式处理数据,则设置为true;如果处理最后的数据块或数据未分块,则设置为false。默认为false。 | 1033e41f4b71Sopenharmony_ci 1034e41f4b71Sopenharmony_ci**返回值:** 1035e41f4b71Sopenharmony_ci 1036e41f4b71Sopenharmony_ci| 类型 | 说明 | 1037e41f4b71Sopenharmony_ci| -------- | -------- | 1038e41f4b71Sopenharmony_ci| string | 解码后的数据。 | 1039e41f4b71Sopenharmony_ci 1040e41f4b71Sopenharmony_ci**示例:** 1041e41f4b71Sopenharmony_ci 1042e41f4b71Sopenharmony_ci```ts 1043e41f4b71Sopenharmony_cilet textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true}); 1044e41f4b71Sopenharmony_cilet uint8 = new Uint8Array(6); 1045e41f4b71Sopenharmony_ciuint8[0] = 0xEF; 1046e41f4b71Sopenharmony_ciuint8[1] = 0xBB; 1047e41f4b71Sopenharmony_ciuint8[2] = 0xBF; 1048e41f4b71Sopenharmony_ciuint8[3] = 0x61; 1049e41f4b71Sopenharmony_ciuint8[4] = 0x62; 1050e41f4b71Sopenharmony_ciuint8[5] = 0x63; 1051e41f4b71Sopenharmony_ciconsole.info("input num:"); 1052e41f4b71Sopenharmony_cilet retStr = textDecoder.decode(uint8, {stream: false}); 1053e41f4b71Sopenharmony_ciconsole.info("retStr = " + retStr); 1054e41f4b71Sopenharmony_ci``` 1055e41f4b71Sopenharmony_ci 1056e41f4b71Sopenharmony_ci## EncodeIntoUint8ArrayInfo<sup>11+</sup> 1057e41f4b71Sopenharmony_ci 1058e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1059e41f4b71Sopenharmony_ci 1060e41f4b71Sopenharmony_ci编码后的文本。 1061e41f4b71Sopenharmony_ci 1062e41f4b71Sopenharmony_ci**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 1063e41f4b71Sopenharmony_ci 1064e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 |可写 | 说明 | 1065e41f4b71Sopenharmony_ci| --------- | -------- | -------- |-------- |------------------ | 1066e41f4b71Sopenharmony_ci| read | number | 是 | 否 |表示已读取的字符数。 | 1067e41f4b71Sopenharmony_ci| written | number | 是 |否 |表示已写入的字节数。 | 1068e41f4b71Sopenharmony_ci 1069e41f4b71Sopenharmony_ci 1070e41f4b71Sopenharmony_ci## TextEncoder 1071e41f4b71Sopenharmony_ci 1072e41f4b71Sopenharmony_ciTextEncoder用于将字符串编码为字节数组,支持多种编码格式。 1073e41f4b71Sopenharmony_ci需要注意的是,在使用TextEncoder进行编码时,不同编码格式下字符所占的字节数是不同的,在使用TextEncoder时需要明确指定要使用的编码格式,以确保编码结果正确。 1074e41f4b71Sopenharmony_ci 1075e41f4b71Sopenharmony_ci### 属性 1076e41f4b71Sopenharmony_ci 1077e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1078e41f4b71Sopenharmony_ci 1079e41f4b71Sopenharmony_ci**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。 1080e41f4b71Sopenharmony_ci 1081e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 1082e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 1083e41f4b71Sopenharmony_ci| encoding | string | 是 | 否 | 编码格式。<br/>- 支持格式:utf-8、UTF-8、GBK、GB2312、gb2312、GB18030、gb18030、ibm866、iso-8859-1、iso-8859-2、iso-8859-3、iso-8859-4、iso-8859-5、iso-8859-6、iso-8859-7、iso-8859-8、iso-8859-8-i、iso-8859-10、iso-8859-13、iso-8859-14、iso-8859-15、koi8-r、koi8-u、macintosh、windows-874、windows-1250、windows-1251、windows-1252、windows-1253、windows-1254、windows-1255、windows-1256、windows-1257、windows-1258、gbk、big5、euc-jp、iso-2022-jp、shift_jis、euc-kr、x-mac-cyrillic、utf-16be、utf-16le。 <br/>- 默认值是:'utf-8'。 | 1084e41f4b71Sopenharmony_ci 1085e41f4b71Sopenharmony_ci 1086e41f4b71Sopenharmony_ci### constructor 1087e41f4b71Sopenharmony_ci 1088e41f4b71Sopenharmony_ciconstructor() 1089e41f4b71Sopenharmony_ci 1090e41f4b71Sopenharmony_ciTextEncoder的构造函数。 1091e41f4b71Sopenharmony_ci 1092e41f4b71Sopenharmony_ci**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 1093e41f4b71Sopenharmony_ci 1094e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1095e41f4b71Sopenharmony_ci 1096e41f4b71Sopenharmony_ci**示例:** 1097e41f4b71Sopenharmony_ci 1098e41f4b71Sopenharmony_ci```ts 1099e41f4b71Sopenharmony_cilet textEncoder = new util.TextEncoder(); 1100e41f4b71Sopenharmony_ci``` 1101e41f4b71Sopenharmony_ci 1102e41f4b71Sopenharmony_ci### constructor<sup>9+</sup> 1103e41f4b71Sopenharmony_ci 1104e41f4b71Sopenharmony_ciconstructor(encoding?: string) 1105e41f4b71Sopenharmony_ci 1106e41f4b71Sopenharmony_ciTextEncoder的构造函数。 1107e41f4b71Sopenharmony_ci 1108e41f4b71Sopenharmony_ci**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 1109e41f4b71Sopenharmony_ci 1110e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1111e41f4b71Sopenharmony_ci 1112e41f4b71Sopenharmony_ci**参数:** 1113e41f4b71Sopenharmony_ci 1114e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1115e41f4b71Sopenharmony_ci| ----- | ---- | ---- | ---- | 1116e41f4b71Sopenharmony_ci| encoding | string | 否 | 编码格式,默认值为'utf-8'。 | 1117e41f4b71Sopenharmony_ci 1118e41f4b71Sopenharmony_ci**错误码:** 1119e41f4b71Sopenharmony_ci 1120e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1121e41f4b71Sopenharmony_ci 1122e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1123e41f4b71Sopenharmony_ci| -------- | -------- | 1124e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | 1125e41f4b71Sopenharmony_ci 1126e41f4b71Sopenharmony_ci**示例:** 1127e41f4b71Sopenharmony_ci 1128e41f4b71Sopenharmony_ci```ts 1129e41f4b71Sopenharmony_cilet textEncoder = new util.TextEncoder("utf-8"); 1130e41f4b71Sopenharmony_ci``` 1131e41f4b71Sopenharmony_ci 1132e41f4b71Sopenharmony_ci### create<sup>12+</sup> 1133e41f4b71Sopenharmony_ci 1134e41f4b71Sopenharmony_cistatic create(encoding?: string): TextEncoder 1135e41f4b71Sopenharmony_ci 1136e41f4b71Sopenharmony_ci创建TextEncoder对象的方法。 1137e41f4b71Sopenharmony_ci 1138e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。 1139e41f4b71Sopenharmony_ci 1140e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1141e41f4b71Sopenharmony_ci 1142e41f4b71Sopenharmony_ci**参数:** 1143e41f4b71Sopenharmony_ci 1144e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1145e41f4b71Sopenharmony_ci| ----- | ---- | ---- | ---- | 1146e41f4b71Sopenharmony_ci| encoding | string | 否 | 编码格式,默认值为'utf-8'。 | 1147e41f4b71Sopenharmony_ci 1148e41f4b71Sopenharmony_ci**错误码:** 1149e41f4b71Sopenharmony_ci 1150e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1151e41f4b71Sopenharmony_ci 1152e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1153e41f4b71Sopenharmony_ci| -------- | -------- | 1154e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | 1155e41f4b71Sopenharmony_ci 1156e41f4b71Sopenharmony_ci**示例:** 1157e41f4b71Sopenharmony_ci 1158e41f4b71Sopenharmony_ci```ts 1159e41f4b71Sopenharmony_cilet textEncoder = util.TextEncoder.create("utf-8"); 1160e41f4b71Sopenharmony_ci``` 1161e41f4b71Sopenharmony_ci 1162e41f4b71Sopenharmony_ci### encodeInto<sup>9+</sup> 1163e41f4b71Sopenharmony_ci 1164e41f4b71Sopenharmony_ciencodeInto(input?: string): Uint8Array 1165e41f4b71Sopenharmony_ci 1166e41f4b71Sopenharmony_ci通过输入参数编码后输出Uint8Array对象。 1167e41f4b71Sopenharmony_ci 1168e41f4b71Sopenharmony_ci**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 1169e41f4b71Sopenharmony_ci 1170e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1171e41f4b71Sopenharmony_ci 1172e41f4b71Sopenharmony_ci**参数:** 1173e41f4b71Sopenharmony_ci 1174e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1175e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------ | 1176e41f4b71Sopenharmony_ci| input | string | 否 | 需要编码的字符串,默认值是空字符串。 | 1177e41f4b71Sopenharmony_ci 1178e41f4b71Sopenharmony_ci**返回值:** 1179e41f4b71Sopenharmony_ci 1180e41f4b71Sopenharmony_ci| 类型 | 说明 | 1181e41f4b71Sopenharmony_ci| ---------- | ------------------ | 1182e41f4b71Sopenharmony_ci| Uint8Array | 返回编码后的Uint8Array对象。 | 1183e41f4b71Sopenharmony_ci 1184e41f4b71Sopenharmony_ci**错误码:** 1185e41f4b71Sopenharmony_ci 1186e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1187e41f4b71Sopenharmony_ci 1188e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1189e41f4b71Sopenharmony_ci| -------- | -------- | 1190e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | 1191e41f4b71Sopenharmony_ci 1192e41f4b71Sopenharmony_ci**示例:** 1193e41f4b71Sopenharmony_ci 1194e41f4b71Sopenharmony_ci```ts 1195e41f4b71Sopenharmony_cilet textEncoder = new util.TextEncoder(); 1196e41f4b71Sopenharmony_cilet result = textEncoder.encodeInto("\uD800¥¥"); 1197e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1198e41f4b71Sopenharmony_ci// 输出结果: result = 237,160,128,194,165,194,165 1199e41f4b71Sopenharmony_ci``` 1200e41f4b71Sopenharmony_ci 1201e41f4b71Sopenharmony_ci### encodeIntoUint8Array<sup>9+</sup> 1202e41f4b71Sopenharmony_ci 1203e41f4b71Sopenharmony_ciencodeIntoUint8Array(input: string, dest: Uint8Array): EncodeIntoUint8ArrayInfo 1204e41f4b71Sopenharmony_ci 1205e41f4b71Sopenharmony_ci对字符串进行编码,将结果写入dest数组。 1206e41f4b71Sopenharmony_ci 1207e41f4b71Sopenharmony_ci**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 1208e41f4b71Sopenharmony_ci 1209e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1210e41f4b71Sopenharmony_ci 1211e41f4b71Sopenharmony_ci**参数:** 1212e41f4b71Sopenharmony_ci 1213e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1214e41f4b71Sopenharmony_ci| ------ | ---------- | ---- | ------------------------------------------------------- | 1215e41f4b71Sopenharmony_ci| input | string | 是 | 需要编码的字符串。 | 1216e41f4b71Sopenharmony_ci| dest | Uint8Array | 是 | Uint8Array对象实例,用于将生成的UTF-8编码文本放入其中。 | 1217e41f4b71Sopenharmony_ci 1218e41f4b71Sopenharmony_ci**返回值:** 1219e41f4b71Sopenharmony_ci 1220e41f4b71Sopenharmony_ci| 类型 | 说明 | 1221e41f4b71Sopenharmony_ci| ---------- | ------------------ | 1222e41f4b71Sopenharmony_ci| [EncodeIntoUint8ArrayInfo](#encodeintouint8arrayinfo11) | 返回一个对象,read表示已编码的字符数,write表示编码字符所占用的字节数。 | 1223e41f4b71Sopenharmony_ci 1224e41f4b71Sopenharmony_ci**错误码:** 1225e41f4b71Sopenharmony_ci 1226e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1227e41f4b71Sopenharmony_ci 1228e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1229e41f4b71Sopenharmony_ci| -------- | -------- | 1230e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 1231e41f4b71Sopenharmony_ci 1232e41f4b71Sopenharmony_ci**示例:** 1233e41f4b71Sopenharmony_ci 1234e41f4b71Sopenharmony_ci```ts 1235e41f4b71Sopenharmony_cilet textEncoder = new util.TextEncoder(); 1236e41f4b71Sopenharmony_cilet buffer = new ArrayBuffer(4); 1237e41f4b71Sopenharmony_cilet uint8 = new Uint8Array(buffer); 1238e41f4b71Sopenharmony_cilet result = textEncoder.encodeIntoUint8Array('abcd', uint8); 1239e41f4b71Sopenharmony_ciconsole.info("uint8 = " + uint8); 1240e41f4b71Sopenharmony_ci// 输出结果: uint8 = 97,98,99,100 1241e41f4b71Sopenharmony_ci``` 1242e41f4b71Sopenharmony_ci 1243e41f4b71Sopenharmony_ci### encodeInto<sup>(deprecated)</sup> 1244e41f4b71Sopenharmony_ci 1245e41f4b71Sopenharmony_ciencodeInto(input: string, dest: Uint8Array): { read: number; written: number } 1246e41f4b71Sopenharmony_ci 1247e41f4b71Sopenharmony_ci放置生成的UTF-8编码文本。 1248e41f4b71Sopenharmony_ci 1249e41f4b71Sopenharmony_ci> **说明:** 1250e41f4b71Sopenharmony_ci> 1251e41f4b71Sopenharmony_ci> 从API version 7开始支持,从API version 9开始废弃,建议使用[encodeIntoUint8Array<sup>9+</sup>](#encodeintouint8array9)替代。 1252e41f4b71Sopenharmony_ci 1253e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1254e41f4b71Sopenharmony_ci 1255e41f4b71Sopenharmony_ci**参数:** 1256e41f4b71Sopenharmony_ci 1257e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1258e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1259e41f4b71Sopenharmony_ci| input | string | 是 | 需要编码的字符串。 | 1260e41f4b71Sopenharmony_ci| dest | Uint8Array | 是 | Uint8Array对象实例,用于将生成的UTF-8编码文本放入其中。 | 1261e41f4b71Sopenharmony_ci 1262e41f4b71Sopenharmony_ci**返回值:** 1263e41f4b71Sopenharmony_ci 1264e41f4b71Sopenharmony_ci| 类型 | 说明 | 1265e41f4b71Sopenharmony_ci| -------- | -------- | 1266e41f4b71Sopenharmony_ci| Uint8Array | 返回编码后的文本。 | 1267e41f4b71Sopenharmony_ci 1268e41f4b71Sopenharmony_ci**示例:** 1269e41f4b71Sopenharmony_ci 1270e41f4b71Sopenharmony_ci```ts 1271e41f4b71Sopenharmony_cilet textEncoder = new util.TextEncoder(); 1272e41f4b71Sopenharmony_cilet buffer = new ArrayBuffer(4); 1273e41f4b71Sopenharmony_cilet uint8 = new Uint8Array(buffer); 1274e41f4b71Sopenharmony_cilet result = textEncoder.encodeInto('abcd', uint8); 1275e41f4b71Sopenharmony_ciconsole.info("uint8 = " + uint8); 1276e41f4b71Sopenharmony_ci// 输出结果: uint8 = 97,98,99,100 1277e41f4b71Sopenharmony_ci``` 1278e41f4b71Sopenharmony_ci 1279e41f4b71Sopenharmony_ci### encode<sup>(deprecated)</sup> 1280e41f4b71Sopenharmony_ci 1281e41f4b71Sopenharmony_ciencode(input?: string): Uint8Array 1282e41f4b71Sopenharmony_ci 1283e41f4b71Sopenharmony_ci通过输入参数编码后输出对应文本。 1284e41f4b71Sopenharmony_ci 1285e41f4b71Sopenharmony_ci> **说明:** 1286e41f4b71Sopenharmony_ci> 1287e41f4b71Sopenharmony_ci> 从API version 7开始支持,从API version 9开始废弃,建议使用[encodeInto<sup>9+</sup>](#encodeinto9)替代。 1288e41f4b71Sopenharmony_ci 1289e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1290e41f4b71Sopenharmony_ci 1291e41f4b71Sopenharmony_ci**参数:** 1292e41f4b71Sopenharmony_ci 1293e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1294e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1295e41f4b71Sopenharmony_ci| input | string | 否 | 需要编码的字符串,默认值是空字符串。 | 1296e41f4b71Sopenharmony_ci 1297e41f4b71Sopenharmony_ci**返回值:** 1298e41f4b71Sopenharmony_ci 1299e41f4b71Sopenharmony_ci| 类型 | 说明 | 1300e41f4b71Sopenharmony_ci| -------- | -------- | 1301e41f4b71Sopenharmony_ci| Uint8Array | 返回编码后的文本。 | 1302e41f4b71Sopenharmony_ci 1303e41f4b71Sopenharmony_ci**示例:** 1304e41f4b71Sopenharmony_ci 1305e41f4b71Sopenharmony_ci```ts 1306e41f4b71Sopenharmony_cilet textEncoder = new util.TextEncoder(); 1307e41f4b71Sopenharmony_cilet result = textEncoder.encode("\uD800¥¥"); 1308e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1309e41f4b71Sopenharmony_ci// 输出结果: result = 237,160,128,194,165,194,165 1310e41f4b71Sopenharmony_ci``` 1311e41f4b71Sopenharmony_ci 1312e41f4b71Sopenharmony_ci## RationalNumber<sup>8+</sup> 1313e41f4b71Sopenharmony_ci 1314e41f4b71Sopenharmony_ciRationalNumber主要是对有理数进行比较,获取分子分母等方法。例如使用toString()方法可以将有理数转换为字符串形式,使用该类可以方便地进行有理数的各种操作。 1315e41f4b71Sopenharmony_ci 1316e41f4b71Sopenharmony_ci### constructor<sup>9+</sup> 1317e41f4b71Sopenharmony_ci 1318e41f4b71Sopenharmony_ciconstructor() 1319e41f4b71Sopenharmony_ci 1320e41f4b71Sopenharmony_ciRationalNumber的构造函数。 1321e41f4b71Sopenharmony_ci 1322e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1323e41f4b71Sopenharmony_ci 1324e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1325e41f4b71Sopenharmony_ci 1326e41f4b71Sopenharmony_ci**示例:** 1327e41f4b71Sopenharmony_ci 1328e41f4b71Sopenharmony_ci```ts 1329e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(); 1330e41f4b71Sopenharmony_ci``` 1331e41f4b71Sopenharmony_ci 1332e41f4b71Sopenharmony_ci### parseRationalNumber<sup>9+</sup> 1333e41f4b71Sopenharmony_ci 1334e41f4b71Sopenharmony_ciparseRationalNumber(numerator: number,denominator: number): RationalNumber 1335e41f4b71Sopenharmony_ci 1336e41f4b71Sopenharmony_ci用于创建具有给定分子和分母的RationalNumber实例。 1337e41f4b71Sopenharmony_ci 1338e41f4b71Sopenharmony_ci> **说明:** 1339e41f4b71Sopenharmony_ci> 1340e41f4b71Sopenharmony_ci> 该接口要求参数numerator和denominator必须是整数类型。如果传入的参数是小数类型,不会进行拦截,但是会输出错误信息:"parseRationalNumber: The type of Parameter must be integer"。 1341e41f4b71Sopenharmony_ci 1342e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1343e41f4b71Sopenharmony_ci 1344e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1345e41f4b71Sopenharmony_ci 1346e41f4b71Sopenharmony_ci**参数:** 1347e41f4b71Sopenharmony_ci 1348e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1349e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------------- | 1350e41f4b71Sopenharmony_ci| numerator | number | 是 | 分子,整数类型。取值范围:-Number.MAX_VALUE <= numerator <= Number.MAX_VALUE。| 1351e41f4b71Sopenharmony_ci| denominator | number | 是 | 分母,整数类型。取值范围:-Number.MAX_VALUE <= denominator <= Number.MAX_VALUE。| 1352e41f4b71Sopenharmony_ci 1353e41f4b71Sopenharmony_ci**错误码:** 1354e41f4b71Sopenharmony_ci 1355e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1356e41f4b71Sopenharmony_ci 1357e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1358e41f4b71Sopenharmony_ci| -------- | -------- | 1359e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 1360e41f4b71Sopenharmony_ci 1361e41f4b71Sopenharmony_ci**示例:** 1362e41f4b71Sopenharmony_ci 1363e41f4b71Sopenharmony_ci```ts 1364e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1365e41f4b71Sopenharmony_ci``` 1366e41f4b71Sopenharmony_ci 1367e41f4b71Sopenharmony_ci### createRationalFromString<sup>8+</sup> 1368e41f4b71Sopenharmony_ci 1369e41f4b71Sopenharmony_cistatic createRationalFromString(rationalString: string): RationalNumber 1370e41f4b71Sopenharmony_ci 1371e41f4b71Sopenharmony_ci基于给定的字符串创建一个RationalNumber对象。 1372e41f4b71Sopenharmony_ci 1373e41f4b71Sopenharmony_ci> **说明:** 1374e41f4b71Sopenharmony_ci> 1375e41f4b71Sopenharmony_ci> 该接口要求参数rationalString是字符串格式。如果传入的参数是小数类型字符串格式,不会进行拦截,但是会输出错误信息:"createRationalFromString: The type of Parameter must be integer string"。 1376e41f4b71Sopenharmony_ci 1377e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1378e41f4b71Sopenharmony_ci 1379e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1380e41f4b71Sopenharmony_ci 1381e41f4b71Sopenharmony_ci**参数:** 1382e41f4b71Sopenharmony_ci 1383e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1384e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1385e41f4b71Sopenharmony_ci| rationalString | string | 是 | 字符串格式。 | 1386e41f4b71Sopenharmony_ci 1387e41f4b71Sopenharmony_ci**返回值:** 1388e41f4b71Sopenharmony_ci 1389e41f4b71Sopenharmony_ci| 类型 | 说明 | 1390e41f4b71Sopenharmony_ci| -------- | -------- | 1391e41f4b71Sopenharmony_ci| Object | 返回RationalNumber对象。 | 1392e41f4b71Sopenharmony_ci 1393e41f4b71Sopenharmony_ci**错误码:** 1394e41f4b71Sopenharmony_ci 1395e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1396e41f4b71Sopenharmony_ci 1397e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1398e41f4b71Sopenharmony_ci| -------- | -------- | 1399e41f4b71Sopenharmony_ci| 401 | The type of rationalString must be string. | 1400e41f4b71Sopenharmony_ci 1401e41f4b71Sopenharmony_ci**示例:** 1402e41f4b71Sopenharmony_ci 1403e41f4b71Sopenharmony_ci```ts 1404e41f4b71Sopenharmony_cilet rational = util.RationalNumber.createRationalFromString("3/4"); 1405e41f4b71Sopenharmony_ci``` 1406e41f4b71Sopenharmony_ci 1407e41f4b71Sopenharmony_ci### compare<sup>9+</sup> 1408e41f4b71Sopenharmony_ci 1409e41f4b71Sopenharmony_cicompare(another: RationalNumber): number 1410e41f4b71Sopenharmony_ci 1411e41f4b71Sopenharmony_ci将当前RationalNumber对象与目标RationalNumber对象进行比较,并返回比较结果。 1412e41f4b71Sopenharmony_ci 1413e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1414e41f4b71Sopenharmony_ci 1415e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1416e41f4b71Sopenharmony_ci 1417e41f4b71Sopenharmony_ci**参数:** 1418e41f4b71Sopenharmony_ci 1419e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1420e41f4b71Sopenharmony_ci| ------- | -------------- | ---- | ------------------ | 1421e41f4b71Sopenharmony_ci| another | [RationalNumber](#rationalnumber8) | 是 | 其他的有理数对象。 | 1422e41f4b71Sopenharmony_ci 1423e41f4b71Sopenharmony_ci**返回值:** 1424e41f4b71Sopenharmony_ci 1425e41f4b71Sopenharmony_ci| 类型 | 说明 | 1426e41f4b71Sopenharmony_ci| ------ | ------------------------------------------------------------ | 1427e41f4b71Sopenharmony_ci| number | 如果两个对象相等,则返回0;如果给定对象小于当前对象,则返回1;如果给定对象大于当前对象,则返回-1。 | 1428e41f4b71Sopenharmony_ci 1429e41f4b71Sopenharmony_ci**错误码:** 1430e41f4b71Sopenharmony_ci 1431e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1432e41f4b71Sopenharmony_ci 1433e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1434e41f4b71Sopenharmony_ci| -------- | -------- | 1435e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 1436e41f4b71Sopenharmony_ci 1437e41f4b71Sopenharmony_ci**示例:** 1438e41f4b71Sopenharmony_ci 1439e41f4b71Sopenharmony_ci```ts 1440e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1441e41f4b71Sopenharmony_cilet rational = util.RationalNumber.createRationalFromString("3/4"); 1442e41f4b71Sopenharmony_cilet result = rationalNumber.compare(rational); 1443e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1444e41f4b71Sopenharmony_ci// 输出结果:result = -1 1445e41f4b71Sopenharmony_ci``` 1446e41f4b71Sopenharmony_ci 1447e41f4b71Sopenharmony_ci### valueOf<sup>8+</sup> 1448e41f4b71Sopenharmony_ci 1449e41f4b71Sopenharmony_civalueOf(): number 1450e41f4b71Sopenharmony_ci 1451e41f4b71Sopenharmony_ci以整数形式或者浮点数的形式获取当前RationalNumber对象的值。 1452e41f4b71Sopenharmony_ci 1453e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1454e41f4b71Sopenharmony_ci 1455e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1456e41f4b71Sopenharmony_ci 1457e41f4b71Sopenharmony_ci**返回值:** 1458e41f4b71Sopenharmony_ci 1459e41f4b71Sopenharmony_ci| 类型 | 说明 | 1460e41f4b71Sopenharmony_ci| -------- | -------- | 1461e41f4b71Sopenharmony_ci| number | 返回整数或者浮点数的值。 | 1462e41f4b71Sopenharmony_ci 1463e41f4b71Sopenharmony_ci**示例:** 1464e41f4b71Sopenharmony_ci 1465e41f4b71Sopenharmony_ci```ts 1466e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1467e41f4b71Sopenharmony_cilet result = rationalNumber.valueOf(); 1468e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1469e41f4b71Sopenharmony_ci// 输出结果:result = 0.5 1470e41f4b71Sopenharmony_ci``` 1471e41f4b71Sopenharmony_ciAPI 9及以上建议使用以下写法: 1472e41f4b71Sopenharmony_ci```ts 1473e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1474e41f4b71Sopenharmony_cilet result = rationalNumber.valueOf(); 1475e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1476e41f4b71Sopenharmony_ci// 输出结果:result = 0.5 1477e41f4b71Sopenharmony_ci``` 1478e41f4b71Sopenharmony_ci 1479e41f4b71Sopenharmony_ci### equals<sup>8+</sup> 1480e41f4b71Sopenharmony_ci 1481e41f4b71Sopenharmony_ciequals(obj: Object): boolean 1482e41f4b71Sopenharmony_ci 1483e41f4b71Sopenharmony_ci将当前的RationalNumber对象与给定的对象进行比较是否相等。 1484e41f4b71Sopenharmony_ci 1485e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1486e41f4b71Sopenharmony_ci 1487e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1488e41f4b71Sopenharmony_ci 1489e41f4b71Sopenharmony_ci**参数:** 1490e41f4b71Sopenharmony_ci 1491e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1492e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1493e41f4b71Sopenharmony_ci| obj | Object | 是 | 其他类型对象。 | 1494e41f4b71Sopenharmony_ci 1495e41f4b71Sopenharmony_ci**返回值:** 1496e41f4b71Sopenharmony_ci 1497e41f4b71Sopenharmony_ci| 类型 | 说明 | 1498e41f4b71Sopenharmony_ci| -------- | -------- | 1499e41f4b71Sopenharmony_ci| boolean | 如果给定对象与当前对象相同,则返回true;否则返回false。 | 1500e41f4b71Sopenharmony_ci 1501e41f4b71Sopenharmony_ci**示例:** 1502e41f4b71Sopenharmony_ci 1503e41f4b71Sopenharmony_ci```ts 1504e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1505e41f4b71Sopenharmony_cilet rational = util.RationalNumber.createRationalFromString("3/4"); 1506e41f4b71Sopenharmony_cilet result = rationalNumber.equals(rational); 1507e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1508e41f4b71Sopenharmony_ci// 输出结果:result = false 1509e41f4b71Sopenharmony_ci``` 1510e41f4b71Sopenharmony_ciAPI 9及以上建议使用以下写法: 1511e41f4b71Sopenharmony_ci```ts 1512e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1513e41f4b71Sopenharmony_cilet rational = util.RationalNumber.createRationalFromString("3/4"); 1514e41f4b71Sopenharmony_cilet result = rationalNumber.equals(rational); 1515e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1516e41f4b71Sopenharmony_ci// 输出结果:result = false 1517e41f4b71Sopenharmony_ci``` 1518e41f4b71Sopenharmony_ci 1519e41f4b71Sopenharmony_ci### getCommonFactor<sup>9+</sup> 1520e41f4b71Sopenharmony_ci 1521e41f4b71Sopenharmony_cigetCommonFactor(number1: number,number2: number): number 1522e41f4b71Sopenharmony_ci 1523e41f4b71Sopenharmony_ci获取两个指定整数的最大公约数。 1524e41f4b71Sopenharmony_ci 1525e41f4b71Sopenharmony_ci> **说明:** 1526e41f4b71Sopenharmony_ci> 1527e41f4b71Sopenharmony_ci> 该接口要求参数number1和number2必须是整数类型。如果传入的参数是小数类型,不会进行拦截,但是会输出错误信息:"getCommonFactor: The type of Parameter must be integer"。 1528e41f4b71Sopenharmony_ci 1529e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1530e41f4b71Sopenharmony_ci 1531e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1532e41f4b71Sopenharmony_ci 1533e41f4b71Sopenharmony_ci**参数:** 1534e41f4b71Sopenharmony_ci 1535e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1536e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ---------- | 1537e41f4b71Sopenharmony_ci| number1 | number | 是 | 整数类型。-Number.MAX_VALUE <= number1 <= Number.MAX_VALUE。| 1538e41f4b71Sopenharmony_ci| number2 | number | 是 | 整数类型。-Number.MAX_VALUE <= number2 <= Number.MAX_VALUE。| 1539e41f4b71Sopenharmony_ci 1540e41f4b71Sopenharmony_ci**返回值:** 1541e41f4b71Sopenharmony_ci 1542e41f4b71Sopenharmony_ci| 类型 | 说明 | 1543e41f4b71Sopenharmony_ci| ------ | ------------------------------ | 1544e41f4b71Sopenharmony_ci| number | 返回两个给定数字的最大公约数。 | 1545e41f4b71Sopenharmony_ci 1546e41f4b71Sopenharmony_ci**错误码:** 1547e41f4b71Sopenharmony_ci 1548e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1549e41f4b71Sopenharmony_ci 1550e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1551e41f4b71Sopenharmony_ci| -------- | -------- | 1552e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 1553e41f4b71Sopenharmony_ci 1554e41f4b71Sopenharmony_ci**示例:** 1555e41f4b71Sopenharmony_ci 1556e41f4b71Sopenharmony_ci```ts 1557e41f4b71Sopenharmony_cilet result = util.RationalNumber.getCommonFactor(4,6); 1558e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1559e41f4b71Sopenharmony_ci// 输出结果:result = 2 1560e41f4b71Sopenharmony_ci``` 1561e41f4b71Sopenharmony_ci 1562e41f4b71Sopenharmony_ci### getNumerator<sup>8+</sup> 1563e41f4b71Sopenharmony_ci 1564e41f4b71Sopenharmony_cigetNumerator(): number 1565e41f4b71Sopenharmony_ci 1566e41f4b71Sopenharmony_ci获取当前RationalNumber对象的分子。 1567e41f4b71Sopenharmony_ci 1568e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1569e41f4b71Sopenharmony_ci 1570e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1571e41f4b71Sopenharmony_ci 1572e41f4b71Sopenharmony_ci**返回值:** 1573e41f4b71Sopenharmony_ci 1574e41f4b71Sopenharmony_ci| 类型 | 说明 | 1575e41f4b71Sopenharmony_ci| -------- | -------- | 1576e41f4b71Sopenharmony_ci| number | 返回RationalNumber对象的分子的值。 | 1577e41f4b71Sopenharmony_ci 1578e41f4b71Sopenharmony_ci**示例:** 1579e41f4b71Sopenharmony_ci 1580e41f4b71Sopenharmony_ci```ts 1581e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1582e41f4b71Sopenharmony_cilet result = rationalNumber.getNumerator(); 1583e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1584e41f4b71Sopenharmony_ci// 输出结果:result = 1 1585e41f4b71Sopenharmony_ci``` 1586e41f4b71Sopenharmony_ciAPI 9及以上建议使用以下写法: 1587e41f4b71Sopenharmony_ci```ts 1588e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1589e41f4b71Sopenharmony_cilet result = rationalNumber.getNumerator(); 1590e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1591e41f4b71Sopenharmony_ci// 输出结果:result = 1 1592e41f4b71Sopenharmony_ci``` 1593e41f4b71Sopenharmony_ci 1594e41f4b71Sopenharmony_ci### getDenominator<sup>8+</sup> 1595e41f4b71Sopenharmony_ci 1596e41f4b71Sopenharmony_cigetDenominator(): number 1597e41f4b71Sopenharmony_ci 1598e41f4b71Sopenharmony_ci获取当前RationalNumber对象的分母。 1599e41f4b71Sopenharmony_ci 1600e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1601e41f4b71Sopenharmony_ci 1602e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1603e41f4b71Sopenharmony_ci 1604e41f4b71Sopenharmony_ci**返回值:** 1605e41f4b71Sopenharmony_ci 1606e41f4b71Sopenharmony_ci| 类型 | 说明 | 1607e41f4b71Sopenharmony_ci| -------- | -------- | 1608e41f4b71Sopenharmony_ci| number | 返回RationalNumber对象的分母的值。 | 1609e41f4b71Sopenharmony_ci 1610e41f4b71Sopenharmony_ci**示例:** 1611e41f4b71Sopenharmony_ci 1612e41f4b71Sopenharmony_ci```ts 1613e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1614e41f4b71Sopenharmony_cilet result = rationalNumber.getDenominator(); 1615e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1616e41f4b71Sopenharmony_ci// 输出结果:result = 2 1617e41f4b71Sopenharmony_ci``` 1618e41f4b71Sopenharmony_ciAPI 9及以上建议使用以下写法: 1619e41f4b71Sopenharmony_ci```ts 1620e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2) 1621e41f4b71Sopenharmony_cilet result = rationalNumber.getDenominator(); 1622e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1623e41f4b71Sopenharmony_ci// 输出结果:result = 2 1624e41f4b71Sopenharmony_ci``` 1625e41f4b71Sopenharmony_ci 1626e41f4b71Sopenharmony_ci### isZero<sup>8+</sup> 1627e41f4b71Sopenharmony_ci 1628e41f4b71Sopenharmony_ciisZero():boolean 1629e41f4b71Sopenharmony_ci 1630e41f4b71Sopenharmony_ci检查当前RationalNumber对象是否为0。 1631e41f4b71Sopenharmony_ci 1632e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1633e41f4b71Sopenharmony_ci 1634e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1635e41f4b71Sopenharmony_ci 1636e41f4b71Sopenharmony_ci**返回值:** 1637e41f4b71Sopenharmony_ci 1638e41f4b71Sopenharmony_ci| 类型 | 说明 | 1639e41f4b71Sopenharmony_ci| -------- | -------- | 1640e41f4b71Sopenharmony_ci| boolean | 如果当前对象表示的值为0,则返回true;否则返回false。 | 1641e41f4b71Sopenharmony_ci 1642e41f4b71Sopenharmony_ci**示例:** 1643e41f4b71Sopenharmony_ci 1644e41f4b71Sopenharmony_ci```ts 1645e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1646e41f4b71Sopenharmony_cilet result = rationalNumber.isZero(); 1647e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1648e41f4b71Sopenharmony_ci// 输出结果:result = false 1649e41f4b71Sopenharmony_ci``` 1650e41f4b71Sopenharmony_ciAPI 9及以上建议使用以下写法: 1651e41f4b71Sopenharmony_ci```ts 1652e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1653e41f4b71Sopenharmony_cilet result = rationalNumber.isZero(); 1654e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1655e41f4b71Sopenharmony_ci// 输出结果:result = false 1656e41f4b71Sopenharmony_ci``` 1657e41f4b71Sopenharmony_ci 1658e41f4b71Sopenharmony_ci### isNaN<sup>8+</sup> 1659e41f4b71Sopenharmony_ci 1660e41f4b71Sopenharmony_ciisNaN(): boolean 1661e41f4b71Sopenharmony_ci 1662e41f4b71Sopenharmony_ci检查当前RationalNumber对象是否表示非数字(NaN)值。 1663e41f4b71Sopenharmony_ci 1664e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1665e41f4b71Sopenharmony_ci 1666e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1667e41f4b71Sopenharmony_ci 1668e41f4b71Sopenharmony_ci**返回值:** 1669e41f4b71Sopenharmony_ci 1670e41f4b71Sopenharmony_ci| 类型 | 说明 | 1671e41f4b71Sopenharmony_ci| -------- | -------- | 1672e41f4b71Sopenharmony_ci| boolean | 如果分母和分子都为0,则返回true;否则返回false。 | 1673e41f4b71Sopenharmony_ci 1674e41f4b71Sopenharmony_ci**示例:** 1675e41f4b71Sopenharmony_ci 1676e41f4b71Sopenharmony_ci```ts 1677e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1678e41f4b71Sopenharmony_cilet result = rationalNumber.isNaN(); 1679e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1680e41f4b71Sopenharmony_ci// 输出结果:result = false 1681e41f4b71Sopenharmony_ci``` 1682e41f4b71Sopenharmony_ciAPI 9及以上建议使用以下写法: 1683e41f4b71Sopenharmony_ci```ts 1684e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1685e41f4b71Sopenharmony_cilet result = rationalNumber.isNaN(); 1686e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1687e41f4b71Sopenharmony_ci// 输出结果:result = false 1688e41f4b71Sopenharmony_ci``` 1689e41f4b71Sopenharmony_ci 1690e41f4b71Sopenharmony_ci### isFinite<sup>8+</sup> 1691e41f4b71Sopenharmony_ci 1692e41f4b71Sopenharmony_ciisFinite():boolean 1693e41f4b71Sopenharmony_ci 1694e41f4b71Sopenharmony_ci检查当前RationalNumber对象是否表示一个有限值。 1695e41f4b71Sopenharmony_ci 1696e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1697e41f4b71Sopenharmony_ci 1698e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1699e41f4b71Sopenharmony_ci 1700e41f4b71Sopenharmony_ci**返回值:** 1701e41f4b71Sopenharmony_ci 1702e41f4b71Sopenharmony_ci| 类型 | 说明 | 1703e41f4b71Sopenharmony_ci| -------- | -------- | 1704e41f4b71Sopenharmony_ci| boolean | 如果分母不为0,则返回true;否则返回false。 | 1705e41f4b71Sopenharmony_ci 1706e41f4b71Sopenharmony_ci**示例:** 1707e41f4b71Sopenharmony_ci 1708e41f4b71Sopenharmony_ci```ts 1709e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1710e41f4b71Sopenharmony_cilet result = rationalNumber.isFinite(); 1711e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1712e41f4b71Sopenharmony_ci// 输出结果:result = true 1713e41f4b71Sopenharmony_ci``` 1714e41f4b71Sopenharmony_ciAPI 9及以上建议使用以下写法: 1715e41f4b71Sopenharmony_ci```ts 1716e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1717e41f4b71Sopenharmony_cilet result = rationalNumber.isFinite(); 1718e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1719e41f4b71Sopenharmony_ci// 输出结果:result = true 1720e41f4b71Sopenharmony_ci``` 1721e41f4b71Sopenharmony_ci 1722e41f4b71Sopenharmony_ci### toString<sup>8+</sup> 1723e41f4b71Sopenharmony_ci 1724e41f4b71Sopenharmony_citoString(): string 1725e41f4b71Sopenharmony_ci 1726e41f4b71Sopenharmony_ci获取当前RationalNumber对象的字符串表示形式。 1727e41f4b71Sopenharmony_ci 1728e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1729e41f4b71Sopenharmony_ci 1730e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1731e41f4b71Sopenharmony_ci 1732e41f4b71Sopenharmony_ci**返回值:** 1733e41f4b71Sopenharmony_ci 1734e41f4b71Sopenharmony_ci| 类型 | 说明 | 1735e41f4b71Sopenharmony_ci| -------- | -------- | 1736e41f4b71Sopenharmony_ci| string | 返回Numerator/Denominator格式的字符串,例如3/5,如果当前对象的分子为0,则返回0/1。如果当前对象的分母为0,则返回Infinity。如果当前对象的分子和分母都为0,则返回NaN。| 1737e41f4b71Sopenharmony_ci 1738e41f4b71Sopenharmony_ci**示例:** 1739e41f4b71Sopenharmony_ci 1740e41f4b71Sopenharmony_ci```ts 1741e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1742e41f4b71Sopenharmony_cilet result = rationalNumber.toString(); 1743e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1744e41f4b71Sopenharmony_ci// 输出结果:result = 1/2 1745e41f4b71Sopenharmony_ci``` 1746e41f4b71Sopenharmony_ciAPI 9及以上建议使用以下写法: 1747e41f4b71Sopenharmony_ci```ts 1748e41f4b71Sopenharmony_cilet rationalNumber = util.RationalNumber.parseRationalNumber(1,2); 1749e41f4b71Sopenharmony_cilet result = rationalNumber.toString(); 1750e41f4b71Sopenharmony_ciconsole.info("result = " + result); 1751e41f4b71Sopenharmony_ci// 输出结果:result = 1/2 1752e41f4b71Sopenharmony_ci``` 1753e41f4b71Sopenharmony_ci 1754e41f4b71Sopenharmony_ci### constructor<sup>(deprecated)</sup> 1755e41f4b71Sopenharmony_ci 1756e41f4b71Sopenharmony_ciconstructor(numerator: number,denominator: number) 1757e41f4b71Sopenharmony_ci 1758e41f4b71Sopenharmony_ciRationalNumber的构造函数。 1759e41f4b71Sopenharmony_ci 1760e41f4b71Sopenharmony_ci> **说明:** 1761e41f4b71Sopenharmony_ci> 1762e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[parserationalnumber<sup>9+</sup>](#parserationalnumber9)替代。 1763e41f4b71Sopenharmony_ci 1764e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1765e41f4b71Sopenharmony_ci 1766e41f4b71Sopenharmony_ci**参数:** 1767e41f4b71Sopenharmony_ci 1768e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1769e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1770e41f4b71Sopenharmony_ci| numerator | number | 是 | 分子,整数类型。 | 1771e41f4b71Sopenharmony_ci| denominator | number | 是 | 分母,整数类型。 | 1772e41f4b71Sopenharmony_ci 1773e41f4b71Sopenharmony_ci**示例:** 1774e41f4b71Sopenharmony_ci 1775e41f4b71Sopenharmony_ci```ts 1776e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1777e41f4b71Sopenharmony_ci``` 1778e41f4b71Sopenharmony_ci 1779e41f4b71Sopenharmony_ci### compareTo<sup>(deprecated)</sup> 1780e41f4b71Sopenharmony_ci 1781e41f4b71Sopenharmony_cicompareTo(another: RationalNumber): number 1782e41f4b71Sopenharmony_ci 1783e41f4b71Sopenharmony_ci将当前的RationalNumber对象与给定的对象进行比较。 1784e41f4b71Sopenharmony_ci 1785e41f4b71Sopenharmony_ci> **说明:** 1786e41f4b71Sopenharmony_ci> 1787e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[compare<sup>9+</sup>](#compare9)替代。 1788e41f4b71Sopenharmony_ci 1789e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1790e41f4b71Sopenharmony_ci 1791e41f4b71Sopenharmony_ci**参数:** 1792e41f4b71Sopenharmony_ci 1793e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1794e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1795e41f4b71Sopenharmony_ci| another | RationalNumber | 是 | 其他的有理数对象。 | 1796e41f4b71Sopenharmony_ci 1797e41f4b71Sopenharmony_ci**返回值:** 1798e41f4b71Sopenharmony_ci 1799e41f4b71Sopenharmony_ci| 类型 | 说明 | 1800e41f4b71Sopenharmony_ci| -------- | -------- | 1801e41f4b71Sopenharmony_ci| number | 如果两个对象相等,则返回0;如果给定对象小于当前对象,则返回1;如果给定对象大于当前对象,则返回-1。 | 1802e41f4b71Sopenharmony_ci 1803e41f4b71Sopenharmony_ci**示例:** 1804e41f4b71Sopenharmony_ci 1805e41f4b71Sopenharmony_ci```ts 1806e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1807e41f4b71Sopenharmony_cilet rational = util.RationalNumber.createRationalFromString("3/4"); 1808e41f4b71Sopenharmony_cilet result = rationalNumber.compareTo(rational); 1809e41f4b71Sopenharmony_ci``` 1810e41f4b71Sopenharmony_ci 1811e41f4b71Sopenharmony_ci### getCommonDivisor<sup>(deprecated)</sup> 1812e41f4b71Sopenharmony_ci 1813e41f4b71Sopenharmony_cistatic getCommonDivisor(number1: number,number2: number): number 1814e41f4b71Sopenharmony_ci 1815e41f4b71Sopenharmony_ci获取两个指定整数的最大公约数。 1816e41f4b71Sopenharmony_ci 1817e41f4b71Sopenharmony_ci> **说明:** 1818e41f4b71Sopenharmony_ci> 1819e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[getCommonFactor<sup>9+</sup>](#getcommonfactor9)替代。 1820e41f4b71Sopenharmony_ci 1821e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1822e41f4b71Sopenharmony_ci 1823e41f4b71Sopenharmony_ci**参数:** 1824e41f4b71Sopenharmony_ci 1825e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1826e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1827e41f4b71Sopenharmony_ci| number1 | number | 是 | 整数类型。 | 1828e41f4b71Sopenharmony_ci| number2 | number | 是 | 整数类型。 | 1829e41f4b71Sopenharmony_ci 1830e41f4b71Sopenharmony_ci**返回值:** 1831e41f4b71Sopenharmony_ci 1832e41f4b71Sopenharmony_ci| 类型 | 说明 | 1833e41f4b71Sopenharmony_ci| -------- | -------- | 1834e41f4b71Sopenharmony_ci| number | 返回两个给定数字的最大公约数。 | 1835e41f4b71Sopenharmony_ci 1836e41f4b71Sopenharmony_ci**示例:** 1837e41f4b71Sopenharmony_ci 1838e41f4b71Sopenharmony_ci```ts 1839e41f4b71Sopenharmony_cilet rationalNumber = new util.RationalNumber(1,2); 1840e41f4b71Sopenharmony_cilet result = util.RationalNumber.getCommonDivisor(4,6); 1841e41f4b71Sopenharmony_ci``` 1842e41f4b71Sopenharmony_ci 1843e41f4b71Sopenharmony_ci## LRUCache<sup>9+</sup> 1844e41f4b71Sopenharmony_ci 1845e41f4b71Sopenharmony_ciLRUCache用于在缓存空间不够的时候,将近期最少使用的数据替换为新数据。此设计基于资源访问的考虑:近期访问的数据,可能在不久的将来会再次访问。于是最少访问的数据就是价值最小的数据,是最应该踢出缓存空间的数据。 1846e41f4b71Sopenharmony_ci 1847e41f4b71Sopenharmony_ci### 属性 1848e41f4b71Sopenharmony_ci 1849e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1850e41f4b71Sopenharmony_ci 1851e41f4b71Sopenharmony_ci**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。 1852e41f4b71Sopenharmony_ci 1853e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 1854e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---- | ---------------------- | 1855e41f4b71Sopenharmony_ci| length | number | 是 | 否 | 当前缓冲区中值的总数。 | 1856e41f4b71Sopenharmony_ci 1857e41f4b71Sopenharmony_ci**示例:** 1858e41f4b71Sopenharmony_ci 1859e41f4b71Sopenharmony_ci```ts 1860e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 1861e41f4b71Sopenharmony_cipro.put(2, 10); 1862e41f4b71Sopenharmony_cipro.put(1, 8); 1863e41f4b71Sopenharmony_cilet result = pro.length; 1864e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 1865e41f4b71Sopenharmony_ci// 输出结果:result = 2 1866e41f4b71Sopenharmony_ci``` 1867e41f4b71Sopenharmony_ci 1868e41f4b71Sopenharmony_ci### constructor<sup>9+</sup> 1869e41f4b71Sopenharmony_ci 1870e41f4b71Sopenharmony_ciconstructor(capacity?: number) 1871e41f4b71Sopenharmony_ci 1872e41f4b71Sopenharmony_ci默认构造函数用于创建一个新的LRUCache实例,默认容量为64。 1873e41f4b71Sopenharmony_ci 1874e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1875e41f4b71Sopenharmony_ci 1876e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1877e41f4b71Sopenharmony_ci 1878e41f4b71Sopenharmony_ci**参数:** 1879e41f4b71Sopenharmony_ci 1880e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1881e41f4b71Sopenharmony_ci| -------- | ------ | ---- | ---------------------------- | 1882e41f4b71Sopenharmony_ci| capacity | number | 否 | 指示要为缓冲区自定义的容量,不传默认值为64,最大值不能超过2147483647。 | 1883e41f4b71Sopenharmony_ci 1884e41f4b71Sopenharmony_ci**错误码:** 1885e41f4b71Sopenharmony_ci 1886e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1887e41f4b71Sopenharmony_ci 1888e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1889e41f4b71Sopenharmony_ci| -------- | -------- | 1890e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | 1891e41f4b71Sopenharmony_ci 1892e41f4b71Sopenharmony_ci**示例:** 1893e41f4b71Sopenharmony_ci 1894e41f4b71Sopenharmony_ci```ts 1895e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 1896e41f4b71Sopenharmony_ci``` 1897e41f4b71Sopenharmony_ci 1898e41f4b71Sopenharmony_ci 1899e41f4b71Sopenharmony_ci### updateCapacity<sup>9+</sup> 1900e41f4b71Sopenharmony_ci 1901e41f4b71Sopenharmony_ciupdateCapacity(newCapacity: number): void 1902e41f4b71Sopenharmony_ci 1903e41f4b71Sopenharmony_ci将缓冲区容量更新为指定容量,如果newCapacity小于或等于0,则抛出异常。当缓冲区中值的总数大于指定容量时,会执行删除操作。 1904e41f4b71Sopenharmony_ci 1905e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1906e41f4b71Sopenharmony_ci 1907e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1908e41f4b71Sopenharmony_ci 1909e41f4b71Sopenharmony_ci**参数:** 1910e41f4b71Sopenharmony_ci 1911e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1912e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------------------------- | 1913e41f4b71Sopenharmony_ci| newCapacity | number | 是 | 指示要为缓冲区自定义的容量,最大值不能超过2147483647。 | 1914e41f4b71Sopenharmony_ci 1915e41f4b71Sopenharmony_ci**错误码:** 1916e41f4b71Sopenharmony_ci 1917e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1918e41f4b71Sopenharmony_ci 1919e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1920e41f4b71Sopenharmony_ci| -------- | -------- | 1921e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. | 1922e41f4b71Sopenharmony_ci 1923e41f4b71Sopenharmony_ci**示例:** 1924e41f4b71Sopenharmony_ci 1925e41f4b71Sopenharmony_ci```ts 1926e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 1927e41f4b71Sopenharmony_cipro.updateCapacity(100); 1928e41f4b71Sopenharmony_ci``` 1929e41f4b71Sopenharmony_ci 1930e41f4b71Sopenharmony_ci### toString<sup>9+</sup> 1931e41f4b71Sopenharmony_ci 1932e41f4b71Sopenharmony_citoString(): string 1933e41f4b71Sopenharmony_ci 1934e41f4b71Sopenharmony_ci返回对象的字符串表示形式。 1935e41f4b71Sopenharmony_ci 1936e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1937e41f4b71Sopenharmony_ci 1938e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1939e41f4b71Sopenharmony_ci 1940e41f4b71Sopenharmony_ci**返回值:** 1941e41f4b71Sopenharmony_ci 1942e41f4b71Sopenharmony_ci| 类型 | 说明 | 1943e41f4b71Sopenharmony_ci| ------ | -------------------------- | 1944e41f4b71Sopenharmony_ci| string | 返回对象的字符串表示形式。 | 1945e41f4b71Sopenharmony_ci 1946e41f4b71Sopenharmony_ci**示例:** 1947e41f4b71Sopenharmony_ci 1948e41f4b71Sopenharmony_ci```ts 1949e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 1950e41f4b71Sopenharmony_cipro.put(2, 10); 1951e41f4b71Sopenharmony_cipro.get(2); 1952e41f4b71Sopenharmony_cipro.get(3); 1953e41f4b71Sopenharmony_ciconsole.info(pro.toString()); 1954e41f4b71Sopenharmony_ci// 输出结果:LRUCache[ maxSize = 64, hits = 1, misses = 1, hitRate = 50% ] 1955e41f4b71Sopenharmony_ci// maxSize: 缓存区最大值 hits: 查询值匹配成功的次数 misses: 查询值匹配失败的次数 hitRate: 查询值匹配率 1956e41f4b71Sopenharmony_ci``` 1957e41f4b71Sopenharmony_ci 1958e41f4b71Sopenharmony_ci### getCapacity<sup>9+</sup> 1959e41f4b71Sopenharmony_ci 1960e41f4b71Sopenharmony_cigetCapacity(): number 1961e41f4b71Sopenharmony_ci 1962e41f4b71Sopenharmony_ci获取当前缓冲区的容量。 1963e41f4b71Sopenharmony_ci 1964e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1965e41f4b71Sopenharmony_ci 1966e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1967e41f4b71Sopenharmony_ci 1968e41f4b71Sopenharmony_ci**返回值:** 1969e41f4b71Sopenharmony_ci 1970e41f4b71Sopenharmony_ci| 类型 | 说明 | 1971e41f4b71Sopenharmony_ci| ------ | ---------------------- | 1972e41f4b71Sopenharmony_ci| number | 返回当前缓冲区的容量。 | 1973e41f4b71Sopenharmony_ci 1974e41f4b71Sopenharmony_ci**示例:** 1975e41f4b71Sopenharmony_ci 1976e41f4b71Sopenharmony_ci```ts 1977e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 1978e41f4b71Sopenharmony_cilet result = pro.getCapacity(); 1979e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 1980e41f4b71Sopenharmony_ci// 输出结果:result = 64 1981e41f4b71Sopenharmony_ci``` 1982e41f4b71Sopenharmony_ci 1983e41f4b71Sopenharmony_ci### clear<sup>9+</sup> 1984e41f4b71Sopenharmony_ci 1985e41f4b71Sopenharmony_ciclear(): void 1986e41f4b71Sopenharmony_ci 1987e41f4b71Sopenharmony_ci从当前缓冲区清除键值对。 1988e41f4b71Sopenharmony_ci 1989e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1990e41f4b71Sopenharmony_ci 1991e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 1992e41f4b71Sopenharmony_ci 1993e41f4b71Sopenharmony_ci**示例:** 1994e41f4b71Sopenharmony_ci 1995e41f4b71Sopenharmony_ci```ts 1996e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 1997e41f4b71Sopenharmony_cipro.put(2, 10); 1998e41f4b71Sopenharmony_cilet result = pro.length; 1999e41f4b71Sopenharmony_cipro.clear(); 2000e41f4b71Sopenharmony_cilet res = pro.length; 2001e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2002e41f4b71Sopenharmony_ciconsole.info('res = ' + res); 2003e41f4b71Sopenharmony_ci// 输出结果:result = 1 2004e41f4b71Sopenharmony_ci// 输出结果:res = 0 2005e41f4b71Sopenharmony_ci``` 2006e41f4b71Sopenharmony_ci 2007e41f4b71Sopenharmony_ci### getCreateCount<sup>9+</sup> 2008e41f4b71Sopenharmony_ci 2009e41f4b71Sopenharmony_cigetCreateCount(): number 2010e41f4b71Sopenharmony_ci 2011e41f4b71Sopenharmony_ci获取创建对象的次数。 2012e41f4b71Sopenharmony_ci 2013e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2014e41f4b71Sopenharmony_ci 2015e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2016e41f4b71Sopenharmony_ci 2017e41f4b71Sopenharmony_ci**返回值:** 2018e41f4b71Sopenharmony_ci 2019e41f4b71Sopenharmony_ci| 类型 | 说明 | 2020e41f4b71Sopenharmony_ci| ------ | -------------------| 2021e41f4b71Sopenharmony_ci| number | 返回创建对象的次数。 | 2022e41f4b71Sopenharmony_ci 2023e41f4b71Sopenharmony_ci**示例:** 2024e41f4b71Sopenharmony_ci 2025e41f4b71Sopenharmony_ci```ts 2026e41f4b71Sopenharmony_ci// 创建新类ChildLRUCache继承LRUCache,重写createDefault方法,返回一个非undefined的值。 2027e41f4b71Sopenharmony_ciclass ChildLRUCache extends util.LRUCache<number, number> { 2028e41f4b71Sopenharmony_ci constructor() { 2029e41f4b71Sopenharmony_ci super(); 2030e41f4b71Sopenharmony_ci } 2031e41f4b71Sopenharmony_ci 2032e41f4b71Sopenharmony_ci createDefault(key: number): number { 2033e41f4b71Sopenharmony_ci return key; 2034e41f4b71Sopenharmony_ci } 2035e41f4b71Sopenharmony_ci} 2036e41f4b71Sopenharmony_cilet lru = new ChildLRUCache(); 2037e41f4b71Sopenharmony_cilru.put(2, 10); 2038e41f4b71Sopenharmony_cilru.get(3); 2039e41f4b71Sopenharmony_cilru.get(5); 2040e41f4b71Sopenharmony_cilet res = lru.getCreateCount(); 2041e41f4b71Sopenharmony_ciconsole.info('res = ' + res); 2042e41f4b71Sopenharmony_ci// 输出结果:res = 2 2043e41f4b71Sopenharmony_ci``` 2044e41f4b71Sopenharmony_ci 2045e41f4b71Sopenharmony_ci### getMissCount<sup>9+</sup> 2046e41f4b71Sopenharmony_ci 2047e41f4b71Sopenharmony_cigetMissCount(): number 2048e41f4b71Sopenharmony_ci 2049e41f4b71Sopenharmony_ci获取查询值不匹配的次数。 2050e41f4b71Sopenharmony_ci 2051e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2052e41f4b71Sopenharmony_ci 2053e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2054e41f4b71Sopenharmony_ci 2055e41f4b71Sopenharmony_ci**返回值:** 2056e41f4b71Sopenharmony_ci 2057e41f4b71Sopenharmony_ci| 类型 | 说明 | 2058e41f4b71Sopenharmony_ci| ------ | ------------------------ | 2059e41f4b71Sopenharmony_ci| number | 返回查询值不匹配的次数。 | 2060e41f4b71Sopenharmony_ci 2061e41f4b71Sopenharmony_ci**示例:** 2062e41f4b71Sopenharmony_ci 2063e41f4b71Sopenharmony_ci```ts 2064e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2065e41f4b71Sopenharmony_cipro.put(2, 10); 2066e41f4b71Sopenharmony_cipro.get(2); 2067e41f4b71Sopenharmony_cilet result = pro.getMissCount(); 2068e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2069e41f4b71Sopenharmony_ci// 输出结果:result = 0 2070e41f4b71Sopenharmony_ci``` 2071e41f4b71Sopenharmony_ci 2072e41f4b71Sopenharmony_ci### getRemovalCount<sup>9+</sup> 2073e41f4b71Sopenharmony_ci 2074e41f4b71Sopenharmony_cigetRemovalCount(): number 2075e41f4b71Sopenharmony_ci 2076e41f4b71Sopenharmony_ci获取缓冲区键值对回收的次数。 2077e41f4b71Sopenharmony_ci 2078e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2079e41f4b71Sopenharmony_ci 2080e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2081e41f4b71Sopenharmony_ci 2082e41f4b71Sopenharmony_ci**返回值:** 2083e41f4b71Sopenharmony_ci 2084e41f4b71Sopenharmony_ci| 类型 | 说明 | 2085e41f4b71Sopenharmony_ci| ------ | -------------------------- | 2086e41f4b71Sopenharmony_ci| number | 返回缓冲区键值对回收的次数。 | 2087e41f4b71Sopenharmony_ci 2088e41f4b71Sopenharmony_ci**示例:** 2089e41f4b71Sopenharmony_ci 2090e41f4b71Sopenharmony_ci```ts 2091e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2092e41f4b71Sopenharmony_cipro.put(2, 10); 2093e41f4b71Sopenharmony_cipro.updateCapacity(2); 2094e41f4b71Sopenharmony_cipro.put(50, 22); 2095e41f4b71Sopenharmony_cilet result = pro.getRemovalCount(); 2096e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2097e41f4b71Sopenharmony_ci// 输出结果:result = 0 2098e41f4b71Sopenharmony_ci``` 2099e41f4b71Sopenharmony_ci 2100e41f4b71Sopenharmony_ci### getMatchCount<sup>9+</sup> 2101e41f4b71Sopenharmony_ci 2102e41f4b71Sopenharmony_cigetMatchCount(): number 2103e41f4b71Sopenharmony_ci 2104e41f4b71Sopenharmony_ci获取查询值匹配成功的次数。 2105e41f4b71Sopenharmony_ci 2106e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2107e41f4b71Sopenharmony_ci 2108e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2109e41f4b71Sopenharmony_ci 2110e41f4b71Sopenharmony_ci**返回值:** 2111e41f4b71Sopenharmony_ci 2112e41f4b71Sopenharmony_ci| 类型 | 说明 | 2113e41f4b71Sopenharmony_ci| ------ | -------------------------- | 2114e41f4b71Sopenharmony_ci| number | 返回查询值匹配成功的次数。 | 2115e41f4b71Sopenharmony_ci 2116e41f4b71Sopenharmony_ci**示例:** 2117e41f4b71Sopenharmony_ci 2118e41f4b71Sopenharmony_ci ```ts 2119e41f4b71Sopenharmony_ci let pro = new util.LRUCache<number, number>(); 2120e41f4b71Sopenharmony_ci pro.put(2, 10); 2121e41f4b71Sopenharmony_ci pro.get(2); 2122e41f4b71Sopenharmony_ci let result = pro.getMatchCount(); 2123e41f4b71Sopenharmony_ci console.info('result = ' + result); 2124e41f4b71Sopenharmony_ci // 输出结果:result = 1 2125e41f4b71Sopenharmony_ci ``` 2126e41f4b71Sopenharmony_ci 2127e41f4b71Sopenharmony_ci### getPutCount<sup>9+</sup> 2128e41f4b71Sopenharmony_ci 2129e41f4b71Sopenharmony_cigetPutCount(): number 2130e41f4b71Sopenharmony_ci 2131e41f4b71Sopenharmony_ci获取将值添加到缓冲区的次数。 2132e41f4b71Sopenharmony_ci 2133e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2134e41f4b71Sopenharmony_ci 2135e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2136e41f4b71Sopenharmony_ci 2137e41f4b71Sopenharmony_ci**返回值:** 2138e41f4b71Sopenharmony_ci 2139e41f4b71Sopenharmony_ci| 类型 | 说明 | 2140e41f4b71Sopenharmony_ci| ------ | ---------------------------- | 2141e41f4b71Sopenharmony_ci| number | 返回将值添加到缓冲区的次数。 | 2142e41f4b71Sopenharmony_ci 2143e41f4b71Sopenharmony_ci**示例:** 2144e41f4b71Sopenharmony_ci 2145e41f4b71Sopenharmony_ci```ts 2146e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2147e41f4b71Sopenharmony_cipro.put(2, 10); 2148e41f4b71Sopenharmony_cilet result = pro.getPutCount(); 2149e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2150e41f4b71Sopenharmony_ci// 输出结果:result = 1 2151e41f4b71Sopenharmony_ci``` 2152e41f4b71Sopenharmony_ci 2153e41f4b71Sopenharmony_ci### isEmpty<sup>9+</sup> 2154e41f4b71Sopenharmony_ci 2155e41f4b71Sopenharmony_ciisEmpty(): boolean 2156e41f4b71Sopenharmony_ci 2157e41f4b71Sopenharmony_ci检查当前缓冲区是否为空。 2158e41f4b71Sopenharmony_ci 2159e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2160e41f4b71Sopenharmony_ci 2161e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2162e41f4b71Sopenharmony_ci 2163e41f4b71Sopenharmony_ci**返回值:** 2164e41f4b71Sopenharmony_ci 2165e41f4b71Sopenharmony_ci| 类型 | 说明 | 2166e41f4b71Sopenharmony_ci| ------- | ---------------------------------------- | 2167e41f4b71Sopenharmony_ci| boolean | 如果当前缓冲区不包含任何值,则返回true。 | 2168e41f4b71Sopenharmony_ci 2169e41f4b71Sopenharmony_ci**示例:** 2170e41f4b71Sopenharmony_ci 2171e41f4b71Sopenharmony_ci```ts 2172e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2173e41f4b71Sopenharmony_cipro.put(2, 10); 2174e41f4b71Sopenharmony_cilet result = pro.isEmpty(); 2175e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2176e41f4b71Sopenharmony_ci// 输出结果:result = false 2177e41f4b71Sopenharmony_ci``` 2178e41f4b71Sopenharmony_ci 2179e41f4b71Sopenharmony_ci### get<sup>9+</sup> 2180e41f4b71Sopenharmony_ci 2181e41f4b71Sopenharmony_ciget(key: K): V | undefined 2182e41f4b71Sopenharmony_ci 2183e41f4b71Sopenharmony_ci返回键对应的值。当键不在缓冲区中时,通过[createDefault<sup>9+</sup>](#createdefault9)接口创建,若createDefault创建的值不为undefined时,此时会调用[afterRemoval<sup>9+</sup>](#afterremoval9)接口,返回createDefault创建的值。 2184e41f4b71Sopenharmony_ci 2185e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2186e41f4b71Sopenharmony_ci 2187e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2188e41f4b71Sopenharmony_ci 2189e41f4b71Sopenharmony_ci**参数:** 2190e41f4b71Sopenharmony_ci 2191e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2192e41f4b71Sopenharmony_ci| ------ | ---- | ---- | ------------ | 2193e41f4b71Sopenharmony_ci| key | K | 是 | 要查询的键。 | 2194e41f4b71Sopenharmony_ci 2195e41f4b71Sopenharmony_ci**返回值:** 2196e41f4b71Sopenharmony_ci 2197e41f4b71Sopenharmony_ci| 类型 | 说明 | 2198e41f4b71Sopenharmony_ci| ------------------------ | ------------------------------------------------------------ | 2199e41f4b71Sopenharmony_ci| V \| undefined | 如果指定的键存在于缓冲区中,则返回与键关联的值;否则返回createDefault创建的值。 | 2200e41f4b71Sopenharmony_ci 2201e41f4b71Sopenharmony_ci**错误码:** 2202e41f4b71Sopenharmony_ci 2203e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 2204e41f4b71Sopenharmony_ci 2205e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2206e41f4b71Sopenharmony_ci| -------- | -------- | 2207e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2208e41f4b71Sopenharmony_ci 2209e41f4b71Sopenharmony_ci**示例:** 2210e41f4b71Sopenharmony_ci 2211e41f4b71Sopenharmony_ci```ts 2212e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2213e41f4b71Sopenharmony_cipro.put(2, 10); 2214e41f4b71Sopenharmony_cilet result = pro.get(2); 2215e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2216e41f4b71Sopenharmony_ci// 输出结果:result = 10 2217e41f4b71Sopenharmony_ci``` 2218e41f4b71Sopenharmony_ci 2219e41f4b71Sopenharmony_ci### put<sup>9+</sup> 2220e41f4b71Sopenharmony_ci 2221e41f4b71Sopenharmony_ciput(key: K,value: V): V 2222e41f4b71Sopenharmony_ci 2223e41f4b71Sopenharmony_ci将键值对添加到缓冲区中,返回与添加的键关联的值。当缓冲区中值的总数大于容量时,会执行删除操作。 2224e41f4b71Sopenharmony_ci 2225e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2226e41f4b71Sopenharmony_ci 2227e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2228e41f4b71Sopenharmony_ci 2229e41f4b71Sopenharmony_ci**参数:** 2230e41f4b71Sopenharmony_ci 2231e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2232e41f4b71Sopenharmony_ci| ------ | ---- | ---- | -------------------------- | 2233e41f4b71Sopenharmony_ci| key | K | 是 | 要添加的键。 | 2234e41f4b71Sopenharmony_ci| value | V | 是 | 指示与要添加的键关联的值。 | 2235e41f4b71Sopenharmony_ci 2236e41f4b71Sopenharmony_ci**返回值:** 2237e41f4b71Sopenharmony_ci 2238e41f4b71Sopenharmony_ci| 类型 | 说明 | 2239e41f4b71Sopenharmony_ci| ---- | ------------------------------------------------------------ | 2240e41f4b71Sopenharmony_ci| V | 返回与添加的键关联的值。如果键或值为空,则抛出此异常。 | 2241e41f4b71Sopenharmony_ci 2242e41f4b71Sopenharmony_ci**错误码:** 2243e41f4b71Sopenharmony_ci 2244e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 2245e41f4b71Sopenharmony_ci 2246e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2247e41f4b71Sopenharmony_ci| -------- | -------- | 2248e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2249e41f4b71Sopenharmony_ci 2250e41f4b71Sopenharmony_ci**示例:** 2251e41f4b71Sopenharmony_ci 2252e41f4b71Sopenharmony_ci```ts 2253e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2254e41f4b71Sopenharmony_cilet result = pro.put(2, 10); 2255e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2256e41f4b71Sopenharmony_ci// 输出结果:result = 10 2257e41f4b71Sopenharmony_ci``` 2258e41f4b71Sopenharmony_ci 2259e41f4b71Sopenharmony_ci### values<sup>9+</sup> 2260e41f4b71Sopenharmony_ci 2261e41f4b71Sopenharmony_civalues(): V[] 2262e41f4b71Sopenharmony_ci 2263e41f4b71Sopenharmony_ci获取当前缓冲区中所有值从最近访问到最近最少访问的顺序列表 。 2264e41f4b71Sopenharmony_ci 2265e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2266e41f4b71Sopenharmony_ci 2267e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2268e41f4b71Sopenharmony_ci 2269e41f4b71Sopenharmony_ci**返回值:** 2270e41f4b71Sopenharmony_ci 2271e41f4b71Sopenharmony_ci| 类型 | 说明 | 2272e41f4b71Sopenharmony_ci| --------- | ------------------------------------------------------------ | 2273e41f4b71Sopenharmony_ci| V [] | 按从最近访问到最近最少访问的顺序返回当前缓冲区中所有值的列表。 | 2274e41f4b71Sopenharmony_ci 2275e41f4b71Sopenharmony_ci**示例:** 2276e41f4b71Sopenharmony_ci 2277e41f4b71Sopenharmony_ci```ts 2278e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number|string,number|string>(); 2279e41f4b71Sopenharmony_cipro.put(2, 10); 2280e41f4b71Sopenharmony_cipro.put(2, "anhu"); 2281e41f4b71Sopenharmony_cipro.put("afaf", "grfb"); 2282e41f4b71Sopenharmony_cilet result = pro.values(); 2283e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2284e41f4b71Sopenharmony_ci// 输出结果:result = anhu,grfb 2285e41f4b71Sopenharmony_ci``` 2286e41f4b71Sopenharmony_ci 2287e41f4b71Sopenharmony_ci### keys<sup>9+</sup> 2288e41f4b71Sopenharmony_ci 2289e41f4b71Sopenharmony_cikeys(): K[] 2290e41f4b71Sopenharmony_ci 2291e41f4b71Sopenharmony_ci获取当前缓冲区中所有键从最近访问到最近最少访问的升序列表。 2292e41f4b71Sopenharmony_ci 2293e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2294e41f4b71Sopenharmony_ci 2295e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2296e41f4b71Sopenharmony_ci 2297e41f4b71Sopenharmony_ci**返回值:** 2298e41f4b71Sopenharmony_ci 2299e41f4b71Sopenharmony_ci| 类型 | 说明 | 2300e41f4b71Sopenharmony_ci| --------- | ------------------------------------------------------------ | 2301e41f4b71Sopenharmony_ci| K [] | 按升序返回当前缓冲区中所有键的列表,从最近访问到最近最少访问。 | 2302e41f4b71Sopenharmony_ci 2303e41f4b71Sopenharmony_ci**示例:** 2304e41f4b71Sopenharmony_ci 2305e41f4b71Sopenharmony_ci```ts 2306e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2307e41f4b71Sopenharmony_cipro.put(2, 10); 2308e41f4b71Sopenharmony_cipro.put(3, 1); 2309e41f4b71Sopenharmony_cilet result = pro.keys(); 2310e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2311e41f4b71Sopenharmony_ci// 输出结果:result = 2,3 2312e41f4b71Sopenharmony_ci``` 2313e41f4b71Sopenharmony_ci 2314e41f4b71Sopenharmony_ci### remove<sup>9+</sup> 2315e41f4b71Sopenharmony_ci 2316e41f4b71Sopenharmony_ciremove(key: K): V | undefined 2317e41f4b71Sopenharmony_ci 2318e41f4b71Sopenharmony_ci从当前缓冲区中删除指定的键及其关联的值,返回键关联的值。如果键不存在时,则返回undefined。 2319e41f4b71Sopenharmony_ci 2320e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2321e41f4b71Sopenharmony_ci 2322e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2323e41f4b71Sopenharmony_ci 2324e41f4b71Sopenharmony_ci**参数:** 2325e41f4b71Sopenharmony_ci 2326e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2327e41f4b71Sopenharmony_ci| ------ | ---- | ---- | -------------- | 2328e41f4b71Sopenharmony_ci| key | K | 是 | 要删除的键值。 | 2329e41f4b71Sopenharmony_ci 2330e41f4b71Sopenharmony_ci**返回值:** 2331e41f4b71Sopenharmony_ci 2332e41f4b71Sopenharmony_ci| 类型 | 说明 | 2333e41f4b71Sopenharmony_ci| ------------------------ | ------------------------------------------------------------ | 2334e41f4b71Sopenharmony_ci| V \| undefined | 返回一个包含已删除键值对的Optional对象;如果key不存在,则返回undefined,如果key为null,则抛出异常。 | 2335e41f4b71Sopenharmony_ci 2336e41f4b71Sopenharmony_ci**错误码:** 2337e41f4b71Sopenharmony_ci 2338e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 2339e41f4b71Sopenharmony_ci 2340e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2341e41f4b71Sopenharmony_ci| -------- | -------- | 2342e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2343e41f4b71Sopenharmony_ci 2344e41f4b71Sopenharmony_ci**示例:** 2345e41f4b71Sopenharmony_ci 2346e41f4b71Sopenharmony_ci```ts 2347e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2348e41f4b71Sopenharmony_cipro.put(2, 10); 2349e41f4b71Sopenharmony_cilet result = pro.remove(20); 2350e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2351e41f4b71Sopenharmony_ci// 输出结果:result = undefined 2352e41f4b71Sopenharmony_ci``` 2353e41f4b71Sopenharmony_ci 2354e41f4b71Sopenharmony_ci### afterRemoval<sup>9+</sup> 2355e41f4b71Sopenharmony_ci 2356e41f4b71Sopenharmony_ciafterRemoval(isEvict: boolean,key: K,value: V,newValue: V): void 2357e41f4b71Sopenharmony_ci 2358e41f4b71Sopenharmony_ci删除值后执行后续操作,后续操作由开发者自行实现。本接口会在删除操作时被调用,如[get<sup>9+</sup>](#get9)、[put<sup>9+</sup>](#put9)、[remove<sup>9+</sup>](#remove9)、[clear<sup>9+</sup>](#clear9)、[updateCapacity<sup>9+</sup>](#updatecapacity9)接口。 2359e41f4b71Sopenharmony_ci 2360e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2361e41f4b71Sopenharmony_ci 2362e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2363e41f4b71Sopenharmony_ci 2364e41f4b71Sopenharmony_ci**参数:** 2365e41f4b71Sopenharmony_ci 2366e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2367e41f4b71Sopenharmony_ci| -------- | ------- | ---- | ------------------------------------------------------------ | 2368e41f4b71Sopenharmony_ci| isEvict | boolean | 是 | 因容量不足而调用该方法时,参数值为true,其他情况为false。 | 2369e41f4b71Sopenharmony_ci| key | K | 是 | 表示删除的键。 | 2370e41f4b71Sopenharmony_ci| value | V | 是 | 表示删除的值。 | 2371e41f4b71Sopenharmony_ci| newValue | V | 是 | 如果已调用put方法并且要添加的键已经存在,则参数值是关联的新值。其他情况下参数值为空。 | 2372e41f4b71Sopenharmony_ci 2373e41f4b71Sopenharmony_ci**错误码:** 2374e41f4b71Sopenharmony_ci 2375e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 2376e41f4b71Sopenharmony_ci 2377e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2378e41f4b71Sopenharmony_ci| -------- | -------- | 2379e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2380e41f4b71Sopenharmony_ci 2381e41f4b71Sopenharmony_ci**示例:** 2382e41f4b71Sopenharmony_ci 2383e41f4b71Sopenharmony_ci```ts 2384e41f4b71Sopenharmony_ciclass ChildLRUCache<K, V> extends util.LRUCache<K, V> { 2385e41f4b71Sopenharmony_ci constructor(capacity?: number) { 2386e41f4b71Sopenharmony_ci super(capacity); 2387e41f4b71Sopenharmony_ci } 2388e41f4b71Sopenharmony_ci 2389e41f4b71Sopenharmony_ci afterRemoval(isEvict: boolean, key: K, value: V, newValue: V): void { 2390e41f4b71Sopenharmony_ci if (isEvict === true) { 2391e41f4b71Sopenharmony_ci console.info('key = ' + key); 2392e41f4b71Sopenharmony_ci // 输出结果:key = 1 2393e41f4b71Sopenharmony_ci console.info('value = ' + value); 2394e41f4b71Sopenharmony_ci // 输出结果:value = 1 2395e41f4b71Sopenharmony_ci console.info('newValue = ' + newValue); 2396e41f4b71Sopenharmony_ci // 输出结果:newValue = null 2397e41f4b71Sopenharmony_ci } 2398e41f4b71Sopenharmony_ci } 2399e41f4b71Sopenharmony_ci} 2400e41f4b71Sopenharmony_cilet lru = new ChildLRUCache<number, number>(2); 2401e41f4b71Sopenharmony_cilru.put(1, 1); 2402e41f4b71Sopenharmony_cilru.put(2, 2); 2403e41f4b71Sopenharmony_cilru.put(3, 3); 2404e41f4b71Sopenharmony_ci``` 2405e41f4b71Sopenharmony_ci 2406e41f4b71Sopenharmony_ci### contains<sup>9+</sup> 2407e41f4b71Sopenharmony_ci 2408e41f4b71Sopenharmony_cicontains(key: K): boolean 2409e41f4b71Sopenharmony_ci 2410e41f4b71Sopenharmony_ci检查当前缓冲区是否包含指定的键。 2411e41f4b71Sopenharmony_ci 2412e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2413e41f4b71Sopenharmony_ci 2414e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2415e41f4b71Sopenharmony_ci 2416e41f4b71Sopenharmony_ci**参数:** 2417e41f4b71Sopenharmony_ci 2418e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2419e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---------------- | 2420e41f4b71Sopenharmony_ci| key | K | 是 | 表示要检查的键。 | 2421e41f4b71Sopenharmony_ci 2422e41f4b71Sopenharmony_ci**返回值:** 2423e41f4b71Sopenharmony_ci 2424e41f4b71Sopenharmony_ci| 类型 | 说明 | 2425e41f4b71Sopenharmony_ci| ------- | ------------------------------------------ | 2426e41f4b71Sopenharmony_ci| boolean | 如果缓冲区包含指定的键,则返回 true。 | 2427e41f4b71Sopenharmony_ci 2428e41f4b71Sopenharmony_ci**错误码:** 2429e41f4b71Sopenharmony_ci 2430e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 2431e41f4b71Sopenharmony_ci 2432e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2433e41f4b71Sopenharmony_ci| -------- | -------- | 2434e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2435e41f4b71Sopenharmony_ci 2436e41f4b71Sopenharmony_ci**示例:** 2437e41f4b71Sopenharmony_ci 2438e41f4b71Sopenharmony_ci```ts 2439e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2440e41f4b71Sopenharmony_cipro.put(2, 10); 2441e41f4b71Sopenharmony_cilet result = pro.contains(2); 2442e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2443e41f4b71Sopenharmony_ci// 输出结果:result = true 2444e41f4b71Sopenharmony_ci``` 2445e41f4b71Sopenharmony_ci 2446e41f4b71Sopenharmony_ci### createDefault<sup>9+</sup> 2447e41f4b71Sopenharmony_ci 2448e41f4b71Sopenharmony_cicreateDefault(key: K): V 2449e41f4b71Sopenharmony_ci 2450e41f4b71Sopenharmony_ci如果在缓冲区未匹配到键,则执行后续操作,参数表示未匹配的键,返回与键关联的值,默认返回undefined。 2451e41f4b71Sopenharmony_ci 2452e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2453e41f4b71Sopenharmony_ci 2454e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2455e41f4b71Sopenharmony_ci 2456e41f4b71Sopenharmony_ci**参数:** 2457e41f4b71Sopenharmony_ci 2458e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2459e41f4b71Sopenharmony_ci| ------ | ---- | ---- | -------------- | 2460e41f4b71Sopenharmony_ci| key | K | 是 | 表示未匹配的键。 | 2461e41f4b71Sopenharmony_ci 2462e41f4b71Sopenharmony_ci**返回值:** 2463e41f4b71Sopenharmony_ci 2464e41f4b71Sopenharmony_ci| 类型 | 说明 | 2465e41f4b71Sopenharmony_ci| ---- | ------------------ | 2466e41f4b71Sopenharmony_ci| V | 返回与键关联的值。 | 2467e41f4b71Sopenharmony_ci 2468e41f4b71Sopenharmony_ci**错误码:** 2469e41f4b71Sopenharmony_ci 2470e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 2471e41f4b71Sopenharmony_ci 2472e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2473e41f4b71Sopenharmony_ci| -------- | -------- | 2474e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2475e41f4b71Sopenharmony_ci 2476e41f4b71Sopenharmony_ci**示例:** 2477e41f4b71Sopenharmony_ci 2478e41f4b71Sopenharmony_ci```ts 2479e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2480e41f4b71Sopenharmony_cilet result = pro.createDefault(50); 2481e41f4b71Sopenharmony_ciconsole.info('result = ' + result); 2482e41f4b71Sopenharmony_ci// 输出结果:result = undefined 2483e41f4b71Sopenharmony_ci``` 2484e41f4b71Sopenharmony_ci 2485e41f4b71Sopenharmony_ci### entries<sup>9+</sup> 2486e41f4b71Sopenharmony_ci 2487e41f4b71Sopenharmony_cientries(): IterableIterator<[K,V]> 2488e41f4b71Sopenharmony_ci 2489e41f4b71Sopenharmony_ci允许迭代包含在这个对象中的所有键值对。 2490e41f4b71Sopenharmony_ci 2491e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2492e41f4b71Sopenharmony_ci 2493e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2494e41f4b71Sopenharmony_ci 2495e41f4b71Sopenharmony_ci**返回值:** 2496e41f4b71Sopenharmony_ci 2497e41f4b71Sopenharmony_ci| 类型 | 说明 | 2498e41f4b71Sopenharmony_ci| ----------- | -------------------- | 2499e41f4b71Sopenharmony_ci| [K, V] | 返回一个可迭代数组。 | 2500e41f4b71Sopenharmony_ci 2501e41f4b71Sopenharmony_ci**示例:** 2502e41f4b71Sopenharmony_ci 2503e41f4b71Sopenharmony_ci```ts 2504e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2505e41f4b71Sopenharmony_cipro.put(2, 10); 2506e41f4b71Sopenharmony_cipro.put(3, 15); 2507e41f4b71Sopenharmony_cilet pair:Iterable<Object[]> = pro.entries(); 2508e41f4b71Sopenharmony_cilet arrayValue = Array.from(pair); 2509e41f4b71Sopenharmony_cifor (let value of arrayValue) { 2510e41f4b71Sopenharmony_ci console.info(value[0]+ ', '+ value[1]); 2511e41f4b71Sopenharmony_ci // 输出结果: 2512e41f4b71Sopenharmony_ci // 2, 10 2513e41f4b71Sopenharmony_ci // 3, 15 2514e41f4b71Sopenharmony_ci} 2515e41f4b71Sopenharmony_ci``` 2516e41f4b71Sopenharmony_ci 2517e41f4b71Sopenharmony_ci### [Symbol.iterator]<sup>9+</sup> 2518e41f4b71Sopenharmony_ci 2519e41f4b71Sopenharmony_ci[Symbol.iterator]\(): IterableIterator<[K, V]> 2520e41f4b71Sopenharmony_ci 2521e41f4b71Sopenharmony_ci返回一个键值对形式的二维数组。 2522e41f4b71Sopenharmony_ci 2523e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2524e41f4b71Sopenharmony_ci 2525e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2526e41f4b71Sopenharmony_ci 2527e41f4b71Sopenharmony_ci**返回值:** 2528e41f4b71Sopenharmony_ci 2529e41f4b71Sopenharmony_ci| 类型 | 说明 | 2530e41f4b71Sopenharmony_ci| ----------- | ------------------------------ | 2531e41f4b71Sopenharmony_ci| [K, V] | 返回一个键值对形式的二维数组。 | 2532e41f4b71Sopenharmony_ci 2533e41f4b71Sopenharmony_ci**示例:** 2534e41f4b71Sopenharmony_ci 2535e41f4b71Sopenharmony_ci```ts 2536e41f4b71Sopenharmony_cilet pro = new util.LRUCache<number, number>(); 2537e41f4b71Sopenharmony_cipro.put(2, 10); 2538e41f4b71Sopenharmony_cipro.put(3, 15); 2539e41f4b71Sopenharmony_cilet pair:Iterable<Object[]> = pro[Symbol.iterator](); 2540e41f4b71Sopenharmony_cilet arrayValue = Array.from(pair); 2541e41f4b71Sopenharmony_cifor (let value of arrayValue) { 2542e41f4b71Sopenharmony_ci console.info(value[0]+ ', '+ value[1]); 2543e41f4b71Sopenharmony_ci // 输出结果: 2544e41f4b71Sopenharmony_ci // 2, 10 2545e41f4b71Sopenharmony_ci // 3, 15 2546e41f4b71Sopenharmony_ci} 2547e41f4b71Sopenharmony_ci``` 2548e41f4b71Sopenharmony_ci 2549e41f4b71Sopenharmony_ci## ScopeComparable<sup>8+</sup> 2550e41f4b71Sopenharmony_ci 2551e41f4b71Sopenharmony_ciScopeComparable类型的值需要实现compareTo方法,确保传入的数据具有可比性。 2552e41f4b71Sopenharmony_ci 2553e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2554e41f4b71Sopenharmony_ci 2555e41f4b71Sopenharmony_ci### compareTo<sup>8+</sup> 2556e41f4b71Sopenharmony_ci 2557e41f4b71Sopenharmony_cicompareTo(other: ScopeComparable): boolean 2558e41f4b71Sopenharmony_ci 2559e41f4b71Sopenharmony_ci比较两个值的大小,返回一个布尔值。 2560e41f4b71Sopenharmony_ci 2561e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2562e41f4b71Sopenharmony_ci 2563e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2564e41f4b71Sopenharmony_ci 2565e41f4b71Sopenharmony_ci**参数:** 2566e41f4b71Sopenharmony_ci 2567e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2568e41f4b71Sopenharmony_ci| ------ | ---- | ---- | -------------- | 2569e41f4b71Sopenharmony_ci| other | [ScopeComparable](#scopecomparable8) | 是 | 表示要比较的值。 | 2570e41f4b71Sopenharmony_ci 2571e41f4b71Sopenharmony_ci**返回值:** 2572e41f4b71Sopenharmony_ci 2573e41f4b71Sopenharmony_ci| 类型 | 说明 | 2574e41f4b71Sopenharmony_ci| ---- | ------------------ | 2575e41f4b71Sopenharmony_ci| boolean | 调用compareTo的值大于等于传入的值返回true,否则返回false。| 2576e41f4b71Sopenharmony_ci 2577e41f4b71Sopenharmony_ci**示例:** 2578e41f4b71Sopenharmony_ci 2579e41f4b71Sopenharmony_ci构造新类,实现compareTo方法。后续示例代码中,均以此Temperature类为例。 2580e41f4b71Sopenharmony_ci 2581e41f4b71Sopenharmony_ci```ts 2582e41f4b71Sopenharmony_ciclass Temperature{ 2583e41f4b71Sopenharmony_ci private readonly _temp: number; 2584e41f4b71Sopenharmony_ci constructor(value : number) { 2585e41f4b71Sopenharmony_ci this._temp = value; 2586e41f4b71Sopenharmony_ci } 2587e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2588e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2589e41f4b71Sopenharmony_ci } 2590e41f4b71Sopenharmony_ci getTemp() { 2591e41f4b71Sopenharmony_ci return this._temp; 2592e41f4b71Sopenharmony_ci } 2593e41f4b71Sopenharmony_ci toString() : string { 2594e41f4b71Sopenharmony_ci return this._temp.toString(); 2595e41f4b71Sopenharmony_ci } 2596e41f4b71Sopenharmony_ci} 2597e41f4b71Sopenharmony_ci``` 2598e41f4b71Sopenharmony_ci 2599e41f4b71Sopenharmony_ci## ScopeType<sup>8+</sup> 2600e41f4b71Sopenharmony_ci 2601e41f4b71Sopenharmony_citype ScopeType = ScopeComparable | number 2602e41f4b71Sopenharmony_ci 2603e41f4b71Sopenharmony_ci用于表示范围中的值的类型。 2604e41f4b71Sopenharmony_ci 2605e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2606e41f4b71Sopenharmony_ci 2607e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2608e41f4b71Sopenharmony_ci 2609e41f4b71Sopenharmony_ci| 类型 | 说明 | 2610e41f4b71Sopenharmony_ci| -------- | -------- | 2611e41f4b71Sopenharmony_ci| number | 表示值的类型为数字。 | 2612e41f4b71Sopenharmony_ci| [ScopeComparable](#scopecomparable8) | 表示值的类型为ScopeComparable。| 2613e41f4b71Sopenharmony_ci 2614e41f4b71Sopenharmony_ci## ScopeHelper<sup>9+</sup> 2615e41f4b71Sopenharmony_ci 2616e41f4b71Sopenharmony_ciScopeHelper接口用于描述一个字段的有效范围。ScopeHelper实例的构造函数用于创建具有指定下限和上限的对象,并要求这些对象必须具有可比性。 2617e41f4b71Sopenharmony_ci 2618e41f4b71Sopenharmony_ci### constructor<sup>9+</sup> 2619e41f4b71Sopenharmony_ci 2620e41f4b71Sopenharmony_ciconstructor(lowerObj: ScopeType, upperObj: ScopeType) 2621e41f4b71Sopenharmony_ci 2622e41f4b71Sopenharmony_ci用于创建指定下限和上限的作用域实例的构造函数,返回一个ScopeHelper对象。 2623e41f4b71Sopenharmony_ci 2624e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2625e41f4b71Sopenharmony_ci 2626e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2627e41f4b71Sopenharmony_ci 2628e41f4b71Sopenharmony_ci**参数:** 2629e41f4b71Sopenharmony_ci 2630e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2631e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ---------------------- | 2632e41f4b71Sopenharmony_ci| lowerObj | [ScopeType](#scopetype8) | 是 | 指定作用域实例的下限。 | 2633e41f4b71Sopenharmony_ci| upperObj | [ScopeType](#scopetype8) | 是 | 指定作用域实例的上限。 | 2634e41f4b71Sopenharmony_ci 2635e41f4b71Sopenharmony_ci**错误码:** 2636e41f4b71Sopenharmony_ci 2637e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 2638e41f4b71Sopenharmony_ci 2639e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2640e41f4b71Sopenharmony_ci| -------- | -------- | 2641e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2642e41f4b71Sopenharmony_ci 2643e41f4b71Sopenharmony_ci**示例:** 2644e41f4b71Sopenharmony_ci 2645e41f4b71Sopenharmony_ci```ts 2646e41f4b71Sopenharmony_ciclass Temperature{ 2647e41f4b71Sopenharmony_ci private readonly _temp: number; 2648e41f4b71Sopenharmony_ci constructor(value : number) { 2649e41f4b71Sopenharmony_ci this._temp = value; 2650e41f4b71Sopenharmony_ci } 2651e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2652e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2653e41f4b71Sopenharmony_ci } 2654e41f4b71Sopenharmony_ci getTemp() { 2655e41f4b71Sopenharmony_ci return this._temp; 2656e41f4b71Sopenharmony_ci } 2657e41f4b71Sopenharmony_ci toString() : string { 2658e41f4b71Sopenharmony_ci return this._temp.toString(); 2659e41f4b71Sopenharmony_ci } 2660e41f4b71Sopenharmony_ci} 2661e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 2662e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 2663e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 2664e41f4b71Sopenharmony_ci``` 2665e41f4b71Sopenharmony_ci 2666e41f4b71Sopenharmony_ci### toString<sup>9+</sup> 2667e41f4b71Sopenharmony_ci 2668e41f4b71Sopenharmony_citoString(): string 2669e41f4b71Sopenharmony_ci 2670e41f4b71Sopenharmony_ci该字符串化方法返回一个包含当前范围的字符串表示形式。 2671e41f4b71Sopenharmony_ci 2672e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2673e41f4b71Sopenharmony_ci 2674e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2675e41f4b71Sopenharmony_ci 2676e41f4b71Sopenharmony_ci**返回值:** 2677e41f4b71Sopenharmony_ci 2678e41f4b71Sopenharmony_ci| 类型 | 说明 | 2679e41f4b71Sopenharmony_ci| ------ | -------------------------------------- | 2680e41f4b71Sopenharmony_ci| string | 返回包含当前范围对象的字符串表示形式。 | 2681e41f4b71Sopenharmony_ci 2682e41f4b71Sopenharmony_ci**示例:** 2683e41f4b71Sopenharmony_ci 2684e41f4b71Sopenharmony_ci```ts 2685e41f4b71Sopenharmony_ciclass Temperature{ 2686e41f4b71Sopenharmony_ci private readonly _temp: number; 2687e41f4b71Sopenharmony_ci constructor(value : number) { 2688e41f4b71Sopenharmony_ci this._temp = value; 2689e41f4b71Sopenharmony_ci } 2690e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2691e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2692e41f4b71Sopenharmony_ci } 2693e41f4b71Sopenharmony_ci getTemp() { 2694e41f4b71Sopenharmony_ci return this._temp; 2695e41f4b71Sopenharmony_ci } 2696e41f4b71Sopenharmony_ci toString() : string { 2697e41f4b71Sopenharmony_ci return this._temp.toString(); 2698e41f4b71Sopenharmony_ci } 2699e41f4b71Sopenharmony_ci} 2700e41f4b71Sopenharmony_ci 2701e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 2702e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 2703e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 2704e41f4b71Sopenharmony_cilet result = range.toString(); 2705e41f4b71Sopenharmony_ci``` 2706e41f4b71Sopenharmony_ci 2707e41f4b71Sopenharmony_ci### intersect<sup>9+</sup> 2708e41f4b71Sopenharmony_ci 2709e41f4b71Sopenharmony_ciintersect(range: ScopeHelper): ScopeHelper 2710e41f4b71Sopenharmony_ci 2711e41f4b71Sopenharmony_ci获取给定范围和当前范围的交集。 2712e41f4b71Sopenharmony_ci 2713e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2714e41f4b71Sopenharmony_ci 2715e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2716e41f4b71Sopenharmony_ci 2717e41f4b71Sopenharmony_ci**参数:** 2718e41f4b71Sopenharmony_ci 2719e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2720e41f4b71Sopenharmony_ci| ------ | ---------------------------- | ---- | ------------------ | 2721e41f4b71Sopenharmony_ci| range | [ScopeHelper](#scopehelper9) | 是 | 传入一个给定范围。 | 2722e41f4b71Sopenharmony_ci 2723e41f4b71Sopenharmony_ci**返回值:** 2724e41f4b71Sopenharmony_ci 2725e41f4b71Sopenharmony_ci| 类型 | 说明 | 2726e41f4b71Sopenharmony_ci| ------------------------------ | ------------------------------ | 2727e41f4b71Sopenharmony_ci| [ScopeHelper](#scopehelper9) | 返回给定范围和当前范围的交集。 | 2728e41f4b71Sopenharmony_ci 2729e41f4b71Sopenharmony_ci**错误码:** 2730e41f4b71Sopenharmony_ci 2731e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 2732e41f4b71Sopenharmony_ci 2733e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2734e41f4b71Sopenharmony_ci| -------- | -------- | 2735e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2736e41f4b71Sopenharmony_ci 2737e41f4b71Sopenharmony_ci**示例:** 2738e41f4b71Sopenharmony_ci 2739e41f4b71Sopenharmony_ci```ts 2740e41f4b71Sopenharmony_ciclass Temperature{ 2741e41f4b71Sopenharmony_ci private readonly _temp: number; 2742e41f4b71Sopenharmony_ci constructor(value : number) { 2743e41f4b71Sopenharmony_ci this._temp = value; 2744e41f4b71Sopenharmony_ci } 2745e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2746e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2747e41f4b71Sopenharmony_ci } 2748e41f4b71Sopenharmony_ci getTemp() { 2749e41f4b71Sopenharmony_ci return this._temp; 2750e41f4b71Sopenharmony_ci } 2751e41f4b71Sopenharmony_ci toString() : string { 2752e41f4b71Sopenharmony_ci return this._temp.toString(); 2753e41f4b71Sopenharmony_ci } 2754e41f4b71Sopenharmony_ci} 2755e41f4b71Sopenharmony_ci 2756e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 2757e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 2758e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 2759e41f4b71Sopenharmony_cilet tempMiDF = new Temperature(35); 2760e41f4b71Sopenharmony_cilet tempMidS = new Temperature(39); 2761e41f4b71Sopenharmony_cilet rangeFir = new util.ScopeHelper(tempMiDF, tempMidS); 2762e41f4b71Sopenharmony_cirange.intersect(rangeFir); 2763e41f4b71Sopenharmony_ci``` 2764e41f4b71Sopenharmony_ci 2765e41f4b71Sopenharmony_ci### intersect<sup>9+</sup> 2766e41f4b71Sopenharmony_ci 2767e41f4b71Sopenharmony_ciintersect(lowerObj:ScopeType,upperObj:ScopeType):ScopeHelper 2768e41f4b71Sopenharmony_ci 2769e41f4b71Sopenharmony_ci获取当前范围与给定下限和上限范围的交集。 2770e41f4b71Sopenharmony_ci 2771e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2772e41f4b71Sopenharmony_ci 2773e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2774e41f4b71Sopenharmony_ci 2775e41f4b71Sopenharmony_ci**参数:** 2776e41f4b71Sopenharmony_ci 2777e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2778e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ---------------- | 2779e41f4b71Sopenharmony_ci| lowerObj | [ScopeType](#scopetype8) | 是 | 给定范围的下限。 | 2780e41f4b71Sopenharmony_ci| upperObj | [ScopeType](#scopetype8) | 是 | 给定范围的上限。 | 2781e41f4b71Sopenharmony_ci 2782e41f4b71Sopenharmony_ci**返回值:** 2783e41f4b71Sopenharmony_ci 2784e41f4b71Sopenharmony_ci| 类型 | 说明 | 2785e41f4b71Sopenharmony_ci| ---------------------------- | ---------------------------------------- | 2786e41f4b71Sopenharmony_ci| [ScopeHelper](#scopehelper9) | 返回当前范围与给定下限和上限范围的交集。 | 2787e41f4b71Sopenharmony_ci 2788e41f4b71Sopenharmony_ci**错误码:** 2789e41f4b71Sopenharmony_ci 2790e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 2791e41f4b71Sopenharmony_ci 2792e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2793e41f4b71Sopenharmony_ci| -------- | -------- | 2794e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2795e41f4b71Sopenharmony_ci 2796e41f4b71Sopenharmony_ci**示例:** 2797e41f4b71Sopenharmony_ci 2798e41f4b71Sopenharmony_ci```ts 2799e41f4b71Sopenharmony_ciclass Temperature{ 2800e41f4b71Sopenharmony_ci private readonly _temp: number; 2801e41f4b71Sopenharmony_ci constructor(value : number) { 2802e41f4b71Sopenharmony_ci this._temp = value; 2803e41f4b71Sopenharmony_ci } 2804e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2805e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2806e41f4b71Sopenharmony_ci } 2807e41f4b71Sopenharmony_ci getTemp() { 2808e41f4b71Sopenharmony_ci return this._temp; 2809e41f4b71Sopenharmony_ci } 2810e41f4b71Sopenharmony_ci toString() : string { 2811e41f4b71Sopenharmony_ci return this._temp.toString(); 2812e41f4b71Sopenharmony_ci } 2813e41f4b71Sopenharmony_ci} 2814e41f4b71Sopenharmony_ci 2815e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 2816e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 2817e41f4b71Sopenharmony_cilet tempMiDF = new Temperature(35); 2818e41f4b71Sopenharmony_cilet tempMidS = new Temperature(39); 2819e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 2820e41f4b71Sopenharmony_cilet result = range.intersect(tempMiDF, tempMidS); 2821e41f4b71Sopenharmony_ci``` 2822e41f4b71Sopenharmony_ci 2823e41f4b71Sopenharmony_ci### getUpper<sup>9+</sup> 2824e41f4b71Sopenharmony_ci 2825e41f4b71Sopenharmony_cigetUpper(): ScopeType 2826e41f4b71Sopenharmony_ci 2827e41f4b71Sopenharmony_ci获取当前范围的上限。 2828e41f4b71Sopenharmony_ci 2829e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2830e41f4b71Sopenharmony_ci 2831e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2832e41f4b71Sopenharmony_ci 2833e41f4b71Sopenharmony_ci**返回值:** 2834e41f4b71Sopenharmony_ci 2835e41f4b71Sopenharmony_ci| 类型 | 说明 | 2836e41f4b71Sopenharmony_ci| ------------------------ | ---------------------- | 2837e41f4b71Sopenharmony_ci| [ScopeType](#scopetype8) | 返回当前范围的上限值。 | 2838e41f4b71Sopenharmony_ci 2839e41f4b71Sopenharmony_ci**示例:** 2840e41f4b71Sopenharmony_ci 2841e41f4b71Sopenharmony_ci```ts 2842e41f4b71Sopenharmony_ciclass Temperature{ 2843e41f4b71Sopenharmony_ci private readonly _temp: number; 2844e41f4b71Sopenharmony_ci constructor(value : number) { 2845e41f4b71Sopenharmony_ci this._temp = value; 2846e41f4b71Sopenharmony_ci } 2847e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2848e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2849e41f4b71Sopenharmony_ci } 2850e41f4b71Sopenharmony_ci getTemp() { 2851e41f4b71Sopenharmony_ci return this._temp; 2852e41f4b71Sopenharmony_ci } 2853e41f4b71Sopenharmony_ci toString() : string { 2854e41f4b71Sopenharmony_ci return this._temp.toString(); 2855e41f4b71Sopenharmony_ci } 2856e41f4b71Sopenharmony_ci} 2857e41f4b71Sopenharmony_ci 2858e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 2859e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 2860e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 2861e41f4b71Sopenharmony_cilet result = range.getUpper(); 2862e41f4b71Sopenharmony_ci``` 2863e41f4b71Sopenharmony_ci 2864e41f4b71Sopenharmony_ci### getLower<sup>9+</sup> 2865e41f4b71Sopenharmony_ci 2866e41f4b71Sopenharmony_cigetLower(): ScopeType 2867e41f4b71Sopenharmony_ci 2868e41f4b71Sopenharmony_ci获取当前范围的下限。 2869e41f4b71Sopenharmony_ci 2870e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2871e41f4b71Sopenharmony_ci 2872e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2873e41f4b71Sopenharmony_ci 2874e41f4b71Sopenharmony_ci**返回值:** 2875e41f4b71Sopenharmony_ci 2876e41f4b71Sopenharmony_ci| 类型 | 说明 | 2877e41f4b71Sopenharmony_ci| ------------------------ | ---------------------- | 2878e41f4b71Sopenharmony_ci| [ScopeType](#scopetype8) | 返回当前范围的下限值。 | 2879e41f4b71Sopenharmony_ci 2880e41f4b71Sopenharmony_ci**示例:** 2881e41f4b71Sopenharmony_ci 2882e41f4b71Sopenharmony_ci```ts 2883e41f4b71Sopenharmony_ciclass Temperature{ 2884e41f4b71Sopenharmony_ci private readonly _temp: number; 2885e41f4b71Sopenharmony_ci constructor(value : number) { 2886e41f4b71Sopenharmony_ci this._temp = value; 2887e41f4b71Sopenharmony_ci } 2888e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2889e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2890e41f4b71Sopenharmony_ci } 2891e41f4b71Sopenharmony_ci getTemp() { 2892e41f4b71Sopenharmony_ci return this._temp; 2893e41f4b71Sopenharmony_ci } 2894e41f4b71Sopenharmony_ci toString() : string { 2895e41f4b71Sopenharmony_ci return this._temp.toString(); 2896e41f4b71Sopenharmony_ci } 2897e41f4b71Sopenharmony_ci} 2898e41f4b71Sopenharmony_ci 2899e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 2900e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 2901e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 2902e41f4b71Sopenharmony_cilet result = range.getLower(); 2903e41f4b71Sopenharmony_ci``` 2904e41f4b71Sopenharmony_ci 2905e41f4b71Sopenharmony_ci### expand<sup>9+</sup> 2906e41f4b71Sopenharmony_ci 2907e41f4b71Sopenharmony_ciexpand(lowerObj: ScopeType,upperObj: ScopeType): ScopeHelper 2908e41f4b71Sopenharmony_ci 2909e41f4b71Sopenharmony_ci创建并返回包括当前范围和给定下限和上限的并集。 2910e41f4b71Sopenharmony_ci 2911e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2912e41f4b71Sopenharmony_ci 2913e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2914e41f4b71Sopenharmony_ci 2915e41f4b71Sopenharmony_ci**参数:** 2916e41f4b71Sopenharmony_ci 2917e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2918e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ---------------- | 2919e41f4b71Sopenharmony_ci| lowerObj | [ScopeType](#scopetype8) | 是 | 给定范围的下限。 | 2920e41f4b71Sopenharmony_ci| upperObj | [ScopeType](#scopetype8) | 是 | 给定范围的上限。 | 2921e41f4b71Sopenharmony_ci 2922e41f4b71Sopenharmony_ci**返回值:** 2923e41f4b71Sopenharmony_ci 2924e41f4b71Sopenharmony_ci| 类型 | 说明 | 2925e41f4b71Sopenharmony_ci| ---------------------------- | ------------------------------------ | 2926e41f4b71Sopenharmony_ci| [ScopeHelper](#scopehelper9) | 返回当前范围和给定下限和上限的并集。 | 2927e41f4b71Sopenharmony_ci 2928e41f4b71Sopenharmony_ci**错误码:** 2929e41f4b71Sopenharmony_ci 2930e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 2931e41f4b71Sopenharmony_ci 2932e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2933e41f4b71Sopenharmony_ci| -------- | -------- | 2934e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2935e41f4b71Sopenharmony_ci 2936e41f4b71Sopenharmony_ci**示例:** 2937e41f4b71Sopenharmony_ci 2938e41f4b71Sopenharmony_ci```ts 2939e41f4b71Sopenharmony_ciclass Temperature{ 2940e41f4b71Sopenharmony_ci private readonly _temp: number; 2941e41f4b71Sopenharmony_ci constructor(value : number) { 2942e41f4b71Sopenharmony_ci this._temp = value; 2943e41f4b71Sopenharmony_ci } 2944e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 2945e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 2946e41f4b71Sopenharmony_ci } 2947e41f4b71Sopenharmony_ci getTemp() { 2948e41f4b71Sopenharmony_ci return this._temp; 2949e41f4b71Sopenharmony_ci } 2950e41f4b71Sopenharmony_ci toString() : string { 2951e41f4b71Sopenharmony_ci return this._temp.toString(); 2952e41f4b71Sopenharmony_ci } 2953e41f4b71Sopenharmony_ci} 2954e41f4b71Sopenharmony_ci 2955e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 2956e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 2957e41f4b71Sopenharmony_cilet tempMiDF = new Temperature(35); 2958e41f4b71Sopenharmony_cilet tempMidS = new Temperature(39); 2959e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 2960e41f4b71Sopenharmony_cilet result = range.expand(tempMiDF, tempMidS); 2961e41f4b71Sopenharmony_ci``` 2962e41f4b71Sopenharmony_ci 2963e41f4b71Sopenharmony_ci### expand<sup>9+</sup> 2964e41f4b71Sopenharmony_ci 2965e41f4b71Sopenharmony_ciexpand(range: ScopeHelper): ScopeHelper 2966e41f4b71Sopenharmony_ci 2967e41f4b71Sopenharmony_ci创建并返回包括当前范围和给定范围的并集。 2968e41f4b71Sopenharmony_ci 2969e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 2970e41f4b71Sopenharmony_ci 2971e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 2972e41f4b71Sopenharmony_ci 2973e41f4b71Sopenharmony_ci**参数:** 2974e41f4b71Sopenharmony_ci 2975e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2976e41f4b71Sopenharmony_ci| ------ | ---------------------------- | ---- | ------------------ | 2977e41f4b71Sopenharmony_ci| range | [ScopeHelper](#scopehelper9) | 是 | 传入一个给定范围。 | 2978e41f4b71Sopenharmony_ci 2979e41f4b71Sopenharmony_ci**返回值:** 2980e41f4b71Sopenharmony_ci 2981e41f4b71Sopenharmony_ci| 类型 | 说明 | 2982e41f4b71Sopenharmony_ci| ---------------------------- | ---------------------------------- | 2983e41f4b71Sopenharmony_ci| [ScopeHelper](#scopehelper9) | 返回包括当前范围和给定范围的并集。 | 2984e41f4b71Sopenharmony_ci 2985e41f4b71Sopenharmony_ci**错误码:** 2986e41f4b71Sopenharmony_ci 2987e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 2988e41f4b71Sopenharmony_ci 2989e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2990e41f4b71Sopenharmony_ci| -------- | -------- | 2991e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2992e41f4b71Sopenharmony_ci 2993e41f4b71Sopenharmony_ci**示例:** 2994e41f4b71Sopenharmony_ci 2995e41f4b71Sopenharmony_ci```ts 2996e41f4b71Sopenharmony_ciclass Temperature{ 2997e41f4b71Sopenharmony_ci private readonly _temp: number; 2998e41f4b71Sopenharmony_ci constructor(value : number) { 2999e41f4b71Sopenharmony_ci this._temp = value; 3000e41f4b71Sopenharmony_ci } 3001e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 3002e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 3003e41f4b71Sopenharmony_ci } 3004e41f4b71Sopenharmony_ci getTemp() { 3005e41f4b71Sopenharmony_ci return this._temp; 3006e41f4b71Sopenharmony_ci } 3007e41f4b71Sopenharmony_ci toString() : string { 3008e41f4b71Sopenharmony_ci return this._temp.toString(); 3009e41f4b71Sopenharmony_ci } 3010e41f4b71Sopenharmony_ci} 3011e41f4b71Sopenharmony_ci 3012e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 3013e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 3014e41f4b71Sopenharmony_cilet tempMiDF = new Temperature(35); 3015e41f4b71Sopenharmony_cilet tempMidS = new Temperature(39); 3016e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 3017e41f4b71Sopenharmony_cilet rangeFir = new util.ScopeHelper(tempMiDF, tempMidS); 3018e41f4b71Sopenharmony_cilet result = range.expand(rangeFir); 3019e41f4b71Sopenharmony_ci``` 3020e41f4b71Sopenharmony_ci 3021e41f4b71Sopenharmony_ci### expand<sup>9+</sup> 3022e41f4b71Sopenharmony_ci 3023e41f4b71Sopenharmony_ciexpand(value: ScopeType): ScopeHelper 3024e41f4b71Sopenharmony_ci 3025e41f4b71Sopenharmony_ci创建并返回包括当前范围和给定值的并集。 3026e41f4b71Sopenharmony_ci 3027e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3028e41f4b71Sopenharmony_ci 3029e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3030e41f4b71Sopenharmony_ci 3031e41f4b71Sopenharmony_ci**参数:** 3032e41f4b71Sopenharmony_ci 3033e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3034e41f4b71Sopenharmony_ci| ------ | ------------------------ | ---- | ---------------- | 3035e41f4b71Sopenharmony_ci| value | [ScopeType](#scopetype8) | 是 | 传入一个给定值。 | 3036e41f4b71Sopenharmony_ci 3037e41f4b71Sopenharmony_ci**返回值:** 3038e41f4b71Sopenharmony_ci 3039e41f4b71Sopenharmony_ci| 类型 | 说明 | 3040e41f4b71Sopenharmony_ci| ---------------------------- | -------------------------------- | 3041e41f4b71Sopenharmony_ci| [ScopeHelper](#scopehelper9) | 返回包括当前范围和给定值的并集。 | 3042e41f4b71Sopenharmony_ci 3043e41f4b71Sopenharmony_ci**错误码:** 3044e41f4b71Sopenharmony_ci 3045e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 3046e41f4b71Sopenharmony_ci 3047e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3048e41f4b71Sopenharmony_ci| -------- | -------- | 3049e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3050e41f4b71Sopenharmony_ci 3051e41f4b71Sopenharmony_ci**示例:** 3052e41f4b71Sopenharmony_ci 3053e41f4b71Sopenharmony_ci```ts 3054e41f4b71Sopenharmony_ciclass Temperature{ 3055e41f4b71Sopenharmony_ci private readonly _temp: number; 3056e41f4b71Sopenharmony_ci constructor(value : number) { 3057e41f4b71Sopenharmony_ci this._temp = value; 3058e41f4b71Sopenharmony_ci } 3059e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 3060e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 3061e41f4b71Sopenharmony_ci } 3062e41f4b71Sopenharmony_ci getTemp() { 3063e41f4b71Sopenharmony_ci return this._temp; 3064e41f4b71Sopenharmony_ci } 3065e41f4b71Sopenharmony_ci toString() : string { 3066e41f4b71Sopenharmony_ci return this._temp.toString(); 3067e41f4b71Sopenharmony_ci } 3068e41f4b71Sopenharmony_ci} 3069e41f4b71Sopenharmony_ci 3070e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 3071e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 3072e41f4b71Sopenharmony_cilet tempMiDF = new Temperature(35); 3073e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 3074e41f4b71Sopenharmony_cilet result = range.expand(tempMiDF); 3075e41f4b71Sopenharmony_ci``` 3076e41f4b71Sopenharmony_ci 3077e41f4b71Sopenharmony_ci### contains<sup>9+</sup> 3078e41f4b71Sopenharmony_ci 3079e41f4b71Sopenharmony_cicontains(value: ScopeType): boolean 3080e41f4b71Sopenharmony_ci 3081e41f4b71Sopenharmony_ci检查给定value是否包含在当前范围内。 3082e41f4b71Sopenharmony_ci 3083e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3084e41f4b71Sopenharmony_ci 3085e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3086e41f4b71Sopenharmony_ci 3087e41f4b71Sopenharmony_ci**参数:** 3088e41f4b71Sopenharmony_ci 3089e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3090e41f4b71Sopenharmony_ci| ------ | ------------------------ | ---- | ---------------- | 3091e41f4b71Sopenharmony_ci| value | [ScopeType](#scopetype8) | 是 | 传入一个给定值。 | 3092e41f4b71Sopenharmony_ci 3093e41f4b71Sopenharmony_ci**返回值:** 3094e41f4b71Sopenharmony_ci 3095e41f4b71Sopenharmony_ci| 类型 | 说明 | 3096e41f4b71Sopenharmony_ci| ------- | --------------------------------------------------- | 3097e41f4b71Sopenharmony_ci| boolean | 如果给定值包含在当前范围内返回true,否则返回false。 | 3098e41f4b71Sopenharmony_ci 3099e41f4b71Sopenharmony_ci**错误码:** 3100e41f4b71Sopenharmony_ci 3101e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 3102e41f4b71Sopenharmony_ci 3103e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3104e41f4b71Sopenharmony_ci| -------- | -------- | 3105e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3106e41f4b71Sopenharmony_ci 3107e41f4b71Sopenharmony_ci**示例:** 3108e41f4b71Sopenharmony_ci 3109e41f4b71Sopenharmony_ci```ts 3110e41f4b71Sopenharmony_ciclass Temperature{ 3111e41f4b71Sopenharmony_ci private readonly _temp: number; 3112e41f4b71Sopenharmony_ci constructor(value : number) { 3113e41f4b71Sopenharmony_ci this._temp = value; 3114e41f4b71Sopenharmony_ci } 3115e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 3116e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 3117e41f4b71Sopenharmony_ci } 3118e41f4b71Sopenharmony_ci getTemp() { 3119e41f4b71Sopenharmony_ci return this._temp; 3120e41f4b71Sopenharmony_ci } 3121e41f4b71Sopenharmony_ci toString() : string { 3122e41f4b71Sopenharmony_ci return this._temp.toString(); 3123e41f4b71Sopenharmony_ci } 3124e41f4b71Sopenharmony_ci} 3125e41f4b71Sopenharmony_ci 3126e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 3127e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 3128e41f4b71Sopenharmony_cilet tempMiDF = new Temperature(35); 3129e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 3130e41f4b71Sopenharmony_cilet result = range.contains(tempMiDF); 3131e41f4b71Sopenharmony_ci``` 3132e41f4b71Sopenharmony_ci 3133e41f4b71Sopenharmony_ci### contains<sup>9+</sup> 3134e41f4b71Sopenharmony_ci 3135e41f4b71Sopenharmony_cicontains(range: ScopeHelper): boolean 3136e41f4b71Sopenharmony_ci 3137e41f4b71Sopenharmony_ci检查给定range是否在当前范围内。 3138e41f4b71Sopenharmony_ci 3139e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3140e41f4b71Sopenharmony_ci 3141e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3142e41f4b71Sopenharmony_ci 3143e41f4b71Sopenharmony_ci**参数:** 3144e41f4b71Sopenharmony_ci 3145e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3146e41f4b71Sopenharmony_ci| ------ | ---------------------------- | ---- | ------------------ | 3147e41f4b71Sopenharmony_ci| range | [ScopeHelper](#scopehelper9) | 是 | 传入一个给定范围。 | 3148e41f4b71Sopenharmony_ci 3149e41f4b71Sopenharmony_ci**返回值:** 3150e41f4b71Sopenharmony_ci 3151e41f4b71Sopenharmony_ci| 类型 | 说明 | 3152e41f4b71Sopenharmony_ci| ------- | ----------------------------------------------------- | 3153e41f4b71Sopenharmony_ci| boolean | 如果给定范围包含在当前范围内返回true,否则返回false。 | 3154e41f4b71Sopenharmony_ci 3155e41f4b71Sopenharmony_ci**错误码:** 3156e41f4b71Sopenharmony_ci 3157e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 3158e41f4b71Sopenharmony_ci 3159e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3160e41f4b71Sopenharmony_ci| -------- | -------- | 3161e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3162e41f4b71Sopenharmony_ci 3163e41f4b71Sopenharmony_ci**示例:** 3164e41f4b71Sopenharmony_ci 3165e41f4b71Sopenharmony_ci```ts 3166e41f4b71Sopenharmony_ciclass Temperature{ 3167e41f4b71Sopenharmony_ci private readonly _temp: number; 3168e41f4b71Sopenharmony_ci constructor(value : number) { 3169e41f4b71Sopenharmony_ci this._temp = value; 3170e41f4b71Sopenharmony_ci } 3171e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 3172e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 3173e41f4b71Sopenharmony_ci } 3174e41f4b71Sopenharmony_ci getTemp() { 3175e41f4b71Sopenharmony_ci return this._temp; 3176e41f4b71Sopenharmony_ci } 3177e41f4b71Sopenharmony_ci toString() : string { 3178e41f4b71Sopenharmony_ci return this._temp.toString(); 3179e41f4b71Sopenharmony_ci } 3180e41f4b71Sopenharmony_ci} 3181e41f4b71Sopenharmony_ci 3182e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 3183e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 3184e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 3185e41f4b71Sopenharmony_cilet tempLess = new Temperature(20); 3186e41f4b71Sopenharmony_cilet tempMore = new Temperature(45); 3187e41f4b71Sopenharmony_cilet rangeSec = new util.ScopeHelper(tempLess, tempMore); 3188e41f4b71Sopenharmony_cilet result = range.contains(rangeSec); 3189e41f4b71Sopenharmony_ci``` 3190e41f4b71Sopenharmony_ci 3191e41f4b71Sopenharmony_ci### clamp<sup>9+</sup> 3192e41f4b71Sopenharmony_ci 3193e41f4b71Sopenharmony_ciclamp(value: ScopeType): ScopeType 3194e41f4b71Sopenharmony_ci 3195e41f4b71Sopenharmony_ci将给定值限定到当前范围内。 3196e41f4b71Sopenharmony_ci 3197e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3198e41f4b71Sopenharmony_ci 3199e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3200e41f4b71Sopenharmony_ci 3201e41f4b71Sopenharmony_ci**参数:** 3202e41f4b71Sopenharmony_ci 3203e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3204e41f4b71Sopenharmony_ci| ------ | ------------------------ | ---- | -------------- | 3205e41f4b71Sopenharmony_ci| value | [ScopeType](#scopetype8) | 是 | 传入的给定值。 | 3206e41f4b71Sopenharmony_ci 3207e41f4b71Sopenharmony_ci**返回值:** 3208e41f4b71Sopenharmony_ci 3209e41f4b71Sopenharmony_ci| 类型 | 说明 | 3210e41f4b71Sopenharmony_ci| ------------------------ | ------------------------------------------------------------ | 3211e41f4b71Sopenharmony_ci| [ScopeType](#scopetype8) | 如果传入的value小于下限,则返回lowerObj;如果大于上限值则返回upperObj;如果在当前范围内,则返回value。 | 3212e41f4b71Sopenharmony_ci 3213e41f4b71Sopenharmony_ci**错误码:** 3214e41f4b71Sopenharmony_ci 3215e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 3216e41f4b71Sopenharmony_ci 3217e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3218e41f4b71Sopenharmony_ci| -------- | -------- | 3219e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3220e41f4b71Sopenharmony_ci 3221e41f4b71Sopenharmony_ci**示例:** 3222e41f4b71Sopenharmony_ci 3223e41f4b71Sopenharmony_ci```ts 3224e41f4b71Sopenharmony_ciclass Temperature{ 3225e41f4b71Sopenharmony_ci private readonly _temp: number; 3226e41f4b71Sopenharmony_ci constructor(value : number) { 3227e41f4b71Sopenharmony_ci this._temp = value; 3228e41f4b71Sopenharmony_ci } 3229e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 3230e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 3231e41f4b71Sopenharmony_ci } 3232e41f4b71Sopenharmony_ci getTemp() { 3233e41f4b71Sopenharmony_ci return this._temp; 3234e41f4b71Sopenharmony_ci } 3235e41f4b71Sopenharmony_ci toString() : string { 3236e41f4b71Sopenharmony_ci return this._temp.toString(); 3237e41f4b71Sopenharmony_ci } 3238e41f4b71Sopenharmony_ci} 3239e41f4b71Sopenharmony_ci 3240e41f4b71Sopenharmony_cilet tempLower = new Temperature(30); 3241e41f4b71Sopenharmony_cilet tempUpper = new Temperature(40); 3242e41f4b71Sopenharmony_cilet tempMiDF = new Temperature(35); 3243e41f4b71Sopenharmony_cilet range = new util.ScopeHelper(tempLower, tempUpper); 3244e41f4b71Sopenharmony_cilet result = range.clamp(tempMiDF); 3245e41f4b71Sopenharmony_ci``` 3246e41f4b71Sopenharmony_ci 3247e41f4b71Sopenharmony_ci## Base64Helper<sup>9+</sup> 3248e41f4b71Sopenharmony_ci 3249e41f4b71Sopenharmony_ciBase64Helper类提供Base64编解码和Base64URL编解码功能。Base64编码表包含A-Z、a-z、0-9这62个字符,以及"+"和"/"这两个特殊字符。在编码时,将原始数据按3个字节一组进行划分,得到若干个6位的数字,然后使用Base64编码表中对应的字符来表示这些数字。如果最后剩余1或2个字节,则需要使用"="字符进行补齐。Base64URL编码表包含A-Z、a-z、0-9以及"-"和"_"64个字符,Base64URL编码结果不含"="。 3250e41f4b71Sopenharmony_ci 3251e41f4b71Sopenharmony_ci### constructor<sup>9+</sup> 3252e41f4b71Sopenharmony_ci 3253e41f4b71Sopenharmony_ciconstructor() 3254e41f4b71Sopenharmony_ci 3255e41f4b71Sopenharmony_ciBase64Helper的构造函数。 3256e41f4b71Sopenharmony_ci 3257e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3258e41f4b71Sopenharmony_ci 3259e41f4b71Sopenharmony_ci**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 3260e41f4b71Sopenharmony_ci 3261e41f4b71Sopenharmony_ci**示例:** 3262e41f4b71Sopenharmony_ci 3263e41f4b71Sopenharmony_ci ```ts 3264e41f4b71Sopenharmony_ci let base64 = new util.Base64Helper(); 3265e41f4b71Sopenharmony_ci ``` 3266e41f4b71Sopenharmony_ci 3267e41f4b71Sopenharmony_ci### encodeSync<sup>9+</sup> 3268e41f4b71Sopenharmony_ci 3269e41f4b71Sopenharmony_ciencodeSync(src: Uint8Array, options?: Type): Uint8Array 3270e41f4b71Sopenharmony_ci 3271e41f4b71Sopenharmony_ci通过输入参数编码后输出Uint8Array对象。 3272e41f4b71Sopenharmony_ci 3273e41f4b71Sopenharmony_ci**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 3274e41f4b71Sopenharmony_ci 3275e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3276e41f4b71Sopenharmony_ci 3277e41f4b71Sopenharmony_ci**参数:** 3278e41f4b71Sopenharmony_ci 3279e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3280e41f4b71Sopenharmony_ci| ------ | ---------- | ---- | ------------------- | 3281e41f4b71Sopenharmony_ci| src | Uint8Array | 是 | 待编码Uint8Array对象。 | 3282e41f4b71Sopenharmony_ci| options<sup>12+</sup> | [Type](#type10) | 否 | 从API version 12开始支持该参数,表示对应的编码格式。<br/>此参数可选,可选值为:util.Type.BASIC和util.Type.BASIC_URL_SAFE,默认值为:util.Type.BASIC。<br/>util.Type.BASIC 表示 Base64编码。<br/>util.Type.BASIC_URL_SAFE 表示 Base64URL编码。 | 3283e41f4b71Sopenharmony_ci 3284e41f4b71Sopenharmony_ci**返回值:** 3285e41f4b71Sopenharmony_ci 3286e41f4b71Sopenharmony_ci| 类型 | 说明 | 3287e41f4b71Sopenharmony_ci| ---------- | ----------------------------- | 3288e41f4b71Sopenharmony_ci| Uint8Array | 返回编码后的Uint8Array对象。 | 3289e41f4b71Sopenharmony_ci 3290e41f4b71Sopenharmony_ci**错误码:** 3291e41f4b71Sopenharmony_ci 3292e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 3293e41f4b71Sopenharmony_ci 3294e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3295e41f4b71Sopenharmony_ci| -------- | -------- | 3296e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3297e41f4b71Sopenharmony_ci 3298e41f4b71Sopenharmony_ci**示例:** 3299e41f4b71Sopenharmony_ci 3300e41f4b71Sopenharmony_ci ```ts 3301e41f4b71Sopenharmony_ci let base64Helper = new util.Base64Helper(); 3302e41f4b71Sopenharmony_ci let array = new Uint8Array([115,49,51]); 3303e41f4b71Sopenharmony_ci let result = base64Helper.encodeSync(array); 3304e41f4b71Sopenharmony_ci ``` 3305e41f4b71Sopenharmony_ci 3306e41f4b71Sopenharmony_ci 3307e41f4b71Sopenharmony_ci### encodeToStringSync<sup>9+</sup> 3308e41f4b71Sopenharmony_ci 3309e41f4b71Sopenharmony_ciencodeToStringSync(src: Uint8Array, options?: Type): string 3310e41f4b71Sopenharmony_ci 3311e41f4b71Sopenharmony_ci通过输入参数编码后输出对应文本。 3312e41f4b71Sopenharmony_ci 3313e41f4b71Sopenharmony_ci**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 3314e41f4b71Sopenharmony_ci 3315e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3316e41f4b71Sopenharmony_ci 3317e41f4b71Sopenharmony_ci**参数:** 3318e41f4b71Sopenharmony_ci 3319e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3320e41f4b71Sopenharmony_ci| ------ | ---------- | ---- | ------------------- | 3321e41f4b71Sopenharmony_ci| src | Uint8Array | 是 | 待编码Uint8Array对象。 | 3322e41f4b71Sopenharmony_ci| options<sup>10+</sup> | [Type](#type10) | 否 | 从API version 10开始支持该参数,表示对应的编码格式。<br/>此参数可选,可选值为:util.Type.BASIC,util.Type.MIME,util.Type.BASIC_URL_SAFE 和util.Type.MIME_URL_SAFE,默认值为:util.Type.BASIC。<br/>- 当参数取值为util.Type.BASIC,表示Base64编码,返回值没有回车符、换行符。<br/>- 当参数取值为util.Type.MIME,表示Base64编码,返回值每一行不超过76个字符,而且每行以'\r\n'符结束。<br/>- 当参数取值为util.Type.BASIC_URL_SAFE,表示Base64URL编码,返回值没有回车符、换行符。<br/>- 当参数取值为util.Type.MIME_URL_SAFE,表示Base64URL编码,返回值每一行不超过76个字符,而且每行以'\r\n'符结束。 | 3323e41f4b71Sopenharmony_ci 3324e41f4b71Sopenharmony_ci**返回值:** 3325e41f4b71Sopenharmony_ci 3326e41f4b71Sopenharmony_ci| 类型 | 说明 | 3327e41f4b71Sopenharmony_ci| ------ | -------------------- | 3328e41f4b71Sopenharmony_ci| string | 返回编码后的字符串。 | 3329e41f4b71Sopenharmony_ci 3330e41f4b71Sopenharmony_ci**错误码:** 3331e41f4b71Sopenharmony_ci 3332e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 3333e41f4b71Sopenharmony_ci 3334e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3335e41f4b71Sopenharmony_ci| -------- | -------- | 3336e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3337e41f4b71Sopenharmony_ci 3338e41f4b71Sopenharmony_ci**示例:** 3339e41f4b71Sopenharmony_ci 3340e41f4b71Sopenharmony_ci ```ts 3341e41f4b71Sopenharmony_ci let base64Helper = new util.Base64Helper(); 3342e41f4b71Sopenharmony_ci let array = new Uint8Array([77,97,110,105,115,100,105,115,116,105,110,103,117,105,115,104,101,100,110,111,116,111,110,108,121,98,121,104,105,115,114,101,97,115,111,110,98,117,116,98,121,116,104,105,115,115,105,110,103,117,108,97,114,112,97,115,115,105,111,110,102,114,111,109,111,116,104,101,114,97,110,105,109,97,108,115,119,104,105,99,104,105,115,97,108,117,115,116,111,102,116,104,101,109,105,110,100,101,120,99,101,101,100,115,116,104,101,115,104,111,114,116,118,101,104,101,109,101,110,99,101,111,102,97,110,121,99,97,114,110,97,108,112,108,101,97,115,117,114,101]); 3343e41f4b71Sopenharmony_ci let result = base64Helper.encodeToStringSync(array, util.Type.MIME); 3344e41f4b71Sopenharmony_ci ``` 3345e41f4b71Sopenharmony_ci 3346e41f4b71Sopenharmony_ci 3347e41f4b71Sopenharmony_ci### decodeSync<sup>9+</sup> 3348e41f4b71Sopenharmony_ci 3349e41f4b71Sopenharmony_cidecodeSync(src: Uint8Array | string, options?: Type): Uint8Array 3350e41f4b71Sopenharmony_ci 3351e41f4b71Sopenharmony_ci通过输入参数解码后输出对应Uint8Array对象。 3352e41f4b71Sopenharmony_ci 3353e41f4b71Sopenharmony_ci**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 3354e41f4b71Sopenharmony_ci 3355e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3356e41f4b71Sopenharmony_ci 3357e41f4b71Sopenharmony_ci**参数:** 3358e41f4b71Sopenharmony_ci 3359e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3360e41f4b71Sopenharmony_ci| ------ | ------------------------------ | ---- | ----------------------------- | 3361e41f4b71Sopenharmony_ci| src | Uint8Array \| string | 是 | 待解码Uint8Array对象或者字符串。 | 3362e41f4b71Sopenharmony_ci| options<sup>10+</sup> | [Type](#type10) | 否 | 从API version 10开始支持该参数,表示对应的解码格式。<br/>此参数可选,可选值为:util.Type.BASIC,util.Type.MIME,util.Type.BASIC_URL_SAFE 和util.Type.MIME_URL_SAFE,默认值为:util.Type.BASIC。<br/>- 当参数取值为util.Type.BASIC,表示Base64解码。<br/>- 当参数取值为util.Type.MIME,表示Base64解码,src入参包含回车符、换行符。<br/>- 当参数取值为util.Type.BASIC_URL_SAFE,表示Base64URL解码。<br/>- 当参数取值为util.Type.MIME_URL_SAFE,表示Base64URL解码,src入参包含回车符、换行符。 | 3363e41f4b71Sopenharmony_ci 3364e41f4b71Sopenharmony_ci**返回值:** 3365e41f4b71Sopenharmony_ci 3366e41f4b71Sopenharmony_ci| 类型 | 说明 | 3367e41f4b71Sopenharmony_ci| ---------- | ----------------------------- | 3368e41f4b71Sopenharmony_ci| Uint8Array | 返回解码后新分配的Uint8Array对象。 | 3369e41f4b71Sopenharmony_ci 3370e41f4b71Sopenharmony_ci**错误码:** 3371e41f4b71Sopenharmony_ci 3372e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 3373e41f4b71Sopenharmony_ci 3374e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3375e41f4b71Sopenharmony_ci| -------- | -------- | 3376e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3377e41f4b71Sopenharmony_ci 3378e41f4b71Sopenharmony_ci**示例:** 3379e41f4b71Sopenharmony_ci 3380e41f4b71Sopenharmony_ci ```ts 3381e41f4b71Sopenharmony_ci let base64Helper = new util.Base64Helper(); 3382e41f4b71Sopenharmony_ci let buff = 'TWFuaXNkaXN0aW5ndWlzaGVkbm90b25seWJ5aGlzcmVhc29uYnV0Ynl0aGlzc2luZ3VsYXJwYXNz\r\naW9uZnJvbW90aGVyYW5pbWFsc3doaWNoaXNhbHVzdG9mdGhlbWluZGV4Y2VlZHN0aGVzaG9ydHZl\r\naGVtZW5jZW9mYW55Y2FybmFscGxlYXN1cmU=\r\n'; 3383e41f4b71Sopenharmony_ci let result = base64Helper.decodeSync(buff, util.Type.MIME); 3384e41f4b71Sopenharmony_ci ``` 3385e41f4b71Sopenharmony_ci 3386e41f4b71Sopenharmony_ci 3387e41f4b71Sopenharmony_ci### encode<sup>9+</sup> 3388e41f4b71Sopenharmony_ci 3389e41f4b71Sopenharmony_ciencode(src: Uint8Array, options?: Type): Promise<Uint8Array> 3390e41f4b71Sopenharmony_ci 3391e41f4b71Sopenharmony_ci通过输入参数异步编码后输出对应Uint8Array对象。 3392e41f4b71Sopenharmony_ci 3393e41f4b71Sopenharmony_ci**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 3394e41f4b71Sopenharmony_ci 3395e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3396e41f4b71Sopenharmony_ci 3397e41f4b71Sopenharmony_ci**参数:** 3398e41f4b71Sopenharmony_ci 3399e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3400e41f4b71Sopenharmony_ci| ------ | ---------- | ---- | ----------------------- | 3401e41f4b71Sopenharmony_ci| src | Uint8Array | 是 | 异步编码输入Uint8Array对象。 | 3402e41f4b71Sopenharmony_ci| options<sup>12+</sup> | [Type](#type10) | 否 | 从API version 12开始支持该参数,表示对应的编码格式。<br/>此参数可选,可选值为:util.Type.BASIC和util.Type.BASIC_URL_SAFE,默认值为:util.Type.BASIC。<br/>util.Type.BASIC 表示 Base64编码。<br/>util.Type.BASIC_URL_SAFE表示 Base64URL编码。 | 3403e41f4b71Sopenharmony_ci 3404e41f4b71Sopenharmony_ci**返回值:** 3405e41f4b71Sopenharmony_ci 3406e41f4b71Sopenharmony_ci| 类型 | 说明 | 3407e41f4b71Sopenharmony_ci| ------------------------- | --------------------------------- | 3408e41f4b71Sopenharmony_ci| Promise<Uint8Array> | 返回异步编码后新分配的Uint8Array对象。 | 3409e41f4b71Sopenharmony_ci 3410e41f4b71Sopenharmony_ci**错误码:** 3411e41f4b71Sopenharmony_ci 3412e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 3413e41f4b71Sopenharmony_ci 3414e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3415e41f4b71Sopenharmony_ci| -------- | -------- | 3416e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3417e41f4b71Sopenharmony_ci 3418e41f4b71Sopenharmony_ci**示例:** 3419e41f4b71Sopenharmony_ci 3420e41f4b71Sopenharmony_ci ```ts 3421e41f4b71Sopenharmony_ci let base64Helper = new util.Base64Helper(); 3422e41f4b71Sopenharmony_ci let array = new Uint8Array([115,49,51]); 3423e41f4b71Sopenharmony_ci base64Helper.encode(array).then((val) => { 3424e41f4b71Sopenharmony_ci console.info(val.toString()); 3425e41f4b71Sopenharmony_ci }) 3426e41f4b71Sopenharmony_ci ``` 3427e41f4b71Sopenharmony_ci 3428e41f4b71Sopenharmony_ci 3429e41f4b71Sopenharmony_ci### encodeToString<sup>9+</sup> 3430e41f4b71Sopenharmony_ci 3431e41f4b71Sopenharmony_ciencodeToString(src: Uint8Array, options?: Type): Promise<string> 3432e41f4b71Sopenharmony_ci 3433e41f4b71Sopenharmony_ci通过输入参数异步编码后输出对应文本。 3434e41f4b71Sopenharmony_ci 3435e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3436e41f4b71Sopenharmony_ci 3437e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3438e41f4b71Sopenharmony_ci 3439e41f4b71Sopenharmony_ci**参数:** 3440e41f4b71Sopenharmony_ci 3441e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3442e41f4b71Sopenharmony_ci| ------ | ---------- | ---- | ----------------------- | 3443e41f4b71Sopenharmony_ci| src | Uint8Array | 是 | 异步编码输入Uint8Array对象。 | 3444e41f4b71Sopenharmony_ci| options<sup>10+</sup> | [Type](#type10) | 否 | 从API version 10开始支持该参数,表示对应的编码格式。<br/>此参数可选,可选值为:util.Type.BASIC,util.Type.MIME,util.Type.BASIC_URL_SAFE 和util.Type.MIME_URL_SAFE,默认值为:util.Type.BASIC。<br/>- 当参数取值为util.Type.BASIC,表示Base64编码,返回值没有回车符、换行符。<br/>- 当参数取值为util.Type.MIME,表示Base64编码,返回值每一行不超过76个字符,而且每行以'\r\n'符结束。<br/>- 当参数取值为util.Type.BASIC_URL_SAFE,表示Base64URL编码,返回值没有回车符、换行符。<br/>- 当参数取值为util.Type.MIME_URL_SAFE,表示Base64URL编码,返回值每一行不超过76个字符,而且每行以'\r\n'符结束。 | 3445e41f4b71Sopenharmony_ci 3446e41f4b71Sopenharmony_ci**返回值:** 3447e41f4b71Sopenharmony_ci 3448e41f4b71Sopenharmony_ci| 类型 | 说明 | 3449e41f4b71Sopenharmony_ci| --------------------- | ------------------------ | 3450e41f4b71Sopenharmony_ci| Promise<string> | 返回异步编码后的字符串。 | 3451e41f4b71Sopenharmony_ci 3452e41f4b71Sopenharmony_ci**错误码:** 3453e41f4b71Sopenharmony_ci 3454e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 3455e41f4b71Sopenharmony_ci 3456e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3457e41f4b71Sopenharmony_ci| -------- | -------- | 3458e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3459e41f4b71Sopenharmony_ci 3460e41f4b71Sopenharmony_ci**示例:** 3461e41f4b71Sopenharmony_ci 3462e41f4b71Sopenharmony_ci ```ts 3463e41f4b71Sopenharmony_ci let base64Helper = new util.Base64Helper(); 3464e41f4b71Sopenharmony_ci let array = new Uint8Array([77,97,110,105,115,100,105,115,116,105,110,103,117,105,115,104,101,100,110,111,116,111,110,108,121,98,121,104,105,115,114,101,97,115,111,110,98,117,116,98,121,116,104,105,115,115,105,110,103,117,108,97,114,112,97,115,115,105,111,110,102,114,111,109,111,116,104,101,114,97,110,105,109,97,108,115,119,104,105,99,104,105,115,97,108,117,115,116,111,102,116,104,101,109,105,110,100,101,120,99,101,101,100,115,116,104,101,115,104,111,114,116,118,101,104,101,109,101,110,99,101,111,102,97,110,121,99,97,114,110,97,108,112,108,101,97,115,117,114,101]); 3465e41f4b71Sopenharmony_ci base64Helper.encodeToString(array, util.Type.MIME).then((val) => { 3466e41f4b71Sopenharmony_ci console.info(val); 3467e41f4b71Sopenharmony_ci }) 3468e41f4b71Sopenharmony_ci ``` 3469e41f4b71Sopenharmony_ci 3470e41f4b71Sopenharmony_ci 3471e41f4b71Sopenharmony_ci### decode<sup>9+</sup> 3472e41f4b71Sopenharmony_ci 3473e41f4b71Sopenharmony_cidecode(src: Uint8Array | string, options?: Type): Promise<Uint8Array> 3474e41f4b71Sopenharmony_ci 3475e41f4b71Sopenharmony_ci通过输入参数异步解码后输出对应Uint8Array对象。 3476e41f4b71Sopenharmony_ci 3477e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3478e41f4b71Sopenharmony_ci 3479e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3480e41f4b71Sopenharmony_ci 3481e41f4b71Sopenharmony_ci**参数:** 3482e41f4b71Sopenharmony_ci 3483e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3484e41f4b71Sopenharmony_ci| ------ | ------------------------------ | ---- | --------------------------------- | 3485e41f4b71Sopenharmony_ci| src | Uint8Array \| string | 是 | 异步解码输入Uint8Array对象或者字符串。 | 3486e41f4b71Sopenharmony_ci| options<sup>10+</sup> | [Type](#type10) | 否 | 从API version 10开始支持该参数,表示对应的解码格式。<br/>此参数可选,可选值为:util.Type.BASIC,util.Type.MIME,util.Type.BASIC_URL_SAFE 和util.Type.MIME_URL_SAFE,默认值为:util.Type.BASIC。<br/>- 当参数取值为util.Type.BASIC时,表示Base64解码。<br/>- 当参数取值为util.Type.MIME时,表示Base64解码,src入参包含回车符、换行符。<br/>- 当参数取值为util.Type.BASIC_URL_SAFE,表示Base64URL解码。<br/>- 当参数取值为util.Type.MIME_URL_SAFE,表示Base64URL解码,src入参包含回车符、换行符。 | 3487e41f4b71Sopenharmony_ci 3488e41f4b71Sopenharmony_ci**返回值:** 3489e41f4b71Sopenharmony_ci 3490e41f4b71Sopenharmony_ci| 类型 | 说明 | 3491e41f4b71Sopenharmony_ci| ------------------------- | --------------------------------- | 3492e41f4b71Sopenharmony_ci| Promise<Uint8Array> | 返回异步解码后新分配的Uint8Array对象。 | 3493e41f4b71Sopenharmony_ci 3494e41f4b71Sopenharmony_ci**错误码:** 3495e41f4b71Sopenharmony_ci 3496e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 3497e41f4b71Sopenharmony_ci 3498e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3499e41f4b71Sopenharmony_ci| -------- | -------- | 3500e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3501e41f4b71Sopenharmony_ci 3502e41f4b71Sopenharmony_ci**示例:** 3503e41f4b71Sopenharmony_ci 3504e41f4b71Sopenharmony_ci ```ts 3505e41f4b71Sopenharmony_ci let base64Helper = new util.Base64Helper(); 3506e41f4b71Sopenharmony_ci let array = 'TWFuaXNkaXN0aW5ndWlzaGVkbm90b25seWJ5aGlzcmVhc29uYnV0Ynl0aGlzc2luZ3VsYXJwYXNz\r\naW9uZnJvbW90aGVyYW5pbWFsc3doaWNoaXNhbHVzdG9mdGhlbWluZGV4Y2VlZHN0aGVzaG9ydHZl\r\naGVtZW5jZW9mYW55Y2FybmFscGxlYXN1cmU=\r\n'; 3507e41f4b71Sopenharmony_ci base64Helper.decode(array, util.Type.MIME).then((val) => { 3508e41f4b71Sopenharmony_ci console.info(val.toString()); 3509e41f4b71Sopenharmony_ci }) 3510e41f4b71Sopenharmony_ci ``` 3511e41f4b71Sopenharmony_ci 3512e41f4b71Sopenharmony_ci## StringDecoder<sup>12+</sup> 3513e41f4b71Sopenharmony_ci 3514e41f4b71Sopenharmony_ci提供将二进制流解码为字符串的能力。支持的编码类型包括:utf-8、iso-8859-2、koi8-r、macintosh、windows-1250、windows-1251、gbk、gb18030、big5、utf-16be、utf-16le等。 3515e41f4b71Sopenharmony_ci 3516e41f4b71Sopenharmony_ci### constructor<sup>12+</sup> 3517e41f4b71Sopenharmony_ci 3518e41f4b71Sopenharmony_ciconstructor(encoding?: string) 3519e41f4b71Sopenharmony_ci 3520e41f4b71Sopenharmony_ciStringDecoder的构造函数。 3521e41f4b71Sopenharmony_ci 3522e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。 3523e41f4b71Sopenharmony_ci 3524e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3525e41f4b71Sopenharmony_ci 3526e41f4b71Sopenharmony_ci**参数:** 3527e41f4b71Sopenharmony_ci 3528e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3529e41f4b71Sopenharmony_ci| ------ | ------------------------------ | ---- | --------------------------------- | 3530e41f4b71Sopenharmony_ci| encoding | string | 否 | 输入数据的编码类型。默认值:'utf-8'。 | 3531e41f4b71Sopenharmony_ci 3532e41f4b71Sopenharmony_ci**错误码:** 3533e41f4b71Sopenharmony_ci 3534e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 3535e41f4b71Sopenharmony_ci 3536e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3537e41f4b71Sopenharmony_ci| -------- | -------- | 3538e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3539e41f4b71Sopenharmony_ci 3540e41f4b71Sopenharmony_ci**示例:** 3541e41f4b71Sopenharmony_ci 3542e41f4b71Sopenharmony_ci ```ts 3543e41f4b71Sopenharmony_ci let decoder = new util.StringDecoder(); 3544e41f4b71Sopenharmony_ci ``` 3545e41f4b71Sopenharmony_ci 3546e41f4b71Sopenharmony_ci### write<sup>12+</sup> 3547e41f4b71Sopenharmony_ci 3548e41f4b71Sopenharmony_ciwrite(chunk: string | Uint8Array): string 3549e41f4b71Sopenharmony_ci 3550e41f4b71Sopenharmony_ci返回一个解码后的字符串,确保Uint8Array末尾的任何不完整的多字节字符从返回的字符串中被过滤,并保存在一个内部的buffer中用于下次调用。 3551e41f4b71Sopenharmony_ci 3552e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。 3553e41f4b71Sopenharmony_ci 3554e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3555e41f4b71Sopenharmony_ci 3556e41f4b71Sopenharmony_ci**参数:** 3557e41f4b71Sopenharmony_ci 3558e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3559e41f4b71Sopenharmony_ci| ------ | ---------- | ---- | ------------------- | 3560e41f4b71Sopenharmony_ci| chunk | string \| Uint8Array | 是 | 需要解码的字符串。会根据输入的编码类型进行解码,参数为Uint8Array时会正常解码,参数为string类型时会原路返回。 | 3561e41f4b71Sopenharmony_ci 3562e41f4b71Sopenharmony_ci**返回值:** 3563e41f4b71Sopenharmony_ci 3564e41f4b71Sopenharmony_ci| 类型 | 说明 | 3565e41f4b71Sopenharmony_ci| ---------- | ----------------------------- | 3566e41f4b71Sopenharmony_ci| string | 返回解码后的字符串。 | 3567e41f4b71Sopenharmony_ci 3568e41f4b71Sopenharmony_ci**错误码:** 3569e41f4b71Sopenharmony_ci 3570e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 3571e41f4b71Sopenharmony_ci 3572e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3573e41f4b71Sopenharmony_ci| -------- | -------- | 3574e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3575e41f4b71Sopenharmony_ci 3576e41f4b71Sopenharmony_ci**示例:** 3577e41f4b71Sopenharmony_ci 3578e41f4b71Sopenharmony_ci ```ts 3579e41f4b71Sopenharmony_ci let decoder = new util.StringDecoder('utf-8'); 3580e41f4b71Sopenharmony_ci let input = new Uint8Array([0xE4, 0xBD, 0xA0, 0xE5, 0xA5, 0xBD]); 3581e41f4b71Sopenharmony_ci const decoded = decoder.write(input); 3582e41f4b71Sopenharmony_ci console.info("decoder:", decoded);// 你好 3583e41f4b71Sopenharmony_ci ``` 3584e41f4b71Sopenharmony_ci 3585e41f4b71Sopenharmony_ci### end<sup>12+</sup> 3586e41f4b71Sopenharmony_ci 3587e41f4b71Sopenharmony_ciend(chunk?: string | Uint8Array): string 3588e41f4b71Sopenharmony_ci 3589e41f4b71Sopenharmony_ci结束解码过程,以字符串形式返回存储在内部缓冲区中的任何剩余输入。 3590e41f4b71Sopenharmony_ci 3591e41f4b71Sopenharmony_ci**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。 3592e41f4b71Sopenharmony_ci 3593e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3594e41f4b71Sopenharmony_ci 3595e41f4b71Sopenharmony_ci**参数:** 3596e41f4b71Sopenharmony_ci 3597e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3598e41f4b71Sopenharmony_ci| ------ | ---------- | ---- | ------------------- | 3599e41f4b71Sopenharmony_ci| chunk | string \| Uint8Array | 否 | 需要解码的字符串。默认为undefined。 | 3600e41f4b71Sopenharmony_ci 3601e41f4b71Sopenharmony_ci**返回值:** 3602e41f4b71Sopenharmony_ci 3603e41f4b71Sopenharmony_ci| 类型 | 说明 | 3604e41f4b71Sopenharmony_ci| ---------- | ----------------------------- | 3605e41f4b71Sopenharmony_ci| string | 返回解码后的字符串。 | 3606e41f4b71Sopenharmony_ci 3607e41f4b71Sopenharmony_ci**错误码:** 3608e41f4b71Sopenharmony_ci 3609e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 3610e41f4b71Sopenharmony_ci 3611e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3612e41f4b71Sopenharmony_ci| -------- | -------- | 3613e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 3614e41f4b71Sopenharmony_ci 3615e41f4b71Sopenharmony_ci**示例:** 3616e41f4b71Sopenharmony_ci 3617e41f4b71Sopenharmony_ci ```ts 3618e41f4b71Sopenharmony_ci let decoder = new util.StringDecoder('utf-8'); 3619e41f4b71Sopenharmony_ci let input = new Uint8Array([0xE4, 0xBD, 0xA0, 0xE5, 0xA5, 0xBD]); 3620e41f4b71Sopenharmony_ci const decoded = decoder.write(input.slice(0, 5)); 3621e41f4b71Sopenharmony_ci const decodedend = decoder.end(input.slice(5)); 3622e41f4b71Sopenharmony_ci console.info("decoded:", decoded);// 你 3623e41f4b71Sopenharmony_ci console.info("decodedend:", decodedend);// 好 3624e41f4b71Sopenharmony_ci ``` 3625e41f4b71Sopenharmony_ci 3626e41f4b71Sopenharmony_ci## Type<sup>10+</sup> 3627e41f4b71Sopenharmony_ci 3628e41f4b71Sopenharmony_ciBase64编码格式枚举。 3629e41f4b71Sopenharmony_ci 3630e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3631e41f4b71Sopenharmony_ci 3632e41f4b71Sopenharmony_ci 3633e41f4b71Sopenharmony_ci| 名称 |值| 说明 | 3634e41f4b71Sopenharmony_ci| ----- |---| ----------------- | 3635e41f4b71Sopenharmony_ci| BASIC | 0 | 表示BASIC编码格式。**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。| 3636e41f4b71Sopenharmony_ci| MIME | 1 | 表示MIME编码格式。**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。| 3637e41f4b71Sopenharmony_ci| BASIC_URL_SAFE<sup>12+</sup> | 2 | 表示BASIC_URL_SAFE编码格式。<br/>从API version 12开始支持此枚举。**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。| 3638e41f4b71Sopenharmony_ci| MIME_URL_SAFE<sup>12+</sup> | 3 | 表示MIME_URL_SAFE编码格式。<br/>从API version 12开始支持此枚举。**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。 | 3639e41f4b71Sopenharmony_ci 3640e41f4b71Sopenharmony_ci 3641e41f4b71Sopenharmony_ci## types<sup>8+</sup> 3642e41f4b71Sopenharmony_ci 3643e41f4b71Sopenharmony_citypes为不同类型的内置对象提供类型检查,可以避免由于类型错误导致的异常或崩溃。该模块包含了多个工具函数,用于判断JS对象是否属于各种类型例如:ArrayBuffer、Map、Set等。 3644e41f4b71Sopenharmony_ci 3645e41f4b71Sopenharmony_ci### constructor<sup>8+</sup> 3646e41f4b71Sopenharmony_ci 3647e41f4b71Sopenharmony_ciconstructor() 3648e41f4b71Sopenharmony_ci 3649e41f4b71Sopenharmony_ciTypes的构造函数。 3650e41f4b71Sopenharmony_ci 3651e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3652e41f4b71Sopenharmony_ci 3653e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3654e41f4b71Sopenharmony_ci 3655e41f4b71Sopenharmony_ci**示例:** 3656e41f4b71Sopenharmony_ci 3657e41f4b71Sopenharmony_ci ```ts 3658e41f4b71Sopenharmony_ci let type = new util.types(); 3659e41f4b71Sopenharmony_ci ``` 3660e41f4b71Sopenharmony_ci 3661e41f4b71Sopenharmony_ci 3662e41f4b71Sopenharmony_ci### isAnyArrayBuffer<sup>8+</sup> 3663e41f4b71Sopenharmony_ci 3664e41f4b71Sopenharmony_ciisAnyArrayBuffer(value: Object): boolean 3665e41f4b71Sopenharmony_ci 3666e41f4b71Sopenharmony_ci检查输入的value是否是ArrayBuffer或SharedArrayBuffer类型。 3667e41f4b71Sopenharmony_ci 3668e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3669e41f4b71Sopenharmony_ci 3670e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3671e41f4b71Sopenharmony_ci 3672e41f4b71Sopenharmony_ci**参数:** 3673e41f4b71Sopenharmony_ci 3674e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3675e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3676e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 3677e41f4b71Sopenharmony_ci 3678e41f4b71Sopenharmony_ci**返回值:** 3679e41f4b71Sopenharmony_ci 3680e41f4b71Sopenharmony_ci| 类型 | 说明 | 3681e41f4b71Sopenharmony_ci| -------- | -------- | 3682e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是ArrayBuffer或SharedArrayBuffer类型为true,反之为false。 | 3683e41f4b71Sopenharmony_ci 3684e41f4b71Sopenharmony_ci**示例:** 3685e41f4b71Sopenharmony_ci 3686e41f4b71Sopenharmony_ci ```ts 3687e41f4b71Sopenharmony_ci let type = new util.types(); 3688e41f4b71Sopenharmony_ci let result = type.isAnyArrayBuffer(new ArrayBuffer(0)); 3689e41f4b71Sopenharmony_ci console.info("result = " + result); 3690e41f4b71Sopenharmony_ci // 输出结果:result = true 3691e41f4b71Sopenharmony_ci ``` 3692e41f4b71Sopenharmony_ci 3693e41f4b71Sopenharmony_ci 3694e41f4b71Sopenharmony_ci### isArrayBufferView<sup>8+</sup> 3695e41f4b71Sopenharmony_ci 3696e41f4b71Sopenharmony_ciisArrayBufferView(value: Object): boolean 3697e41f4b71Sopenharmony_ci 3698e41f4b71Sopenharmony_ci检查输入的value是否是内置ArrayBufferView辅助类型。 3699e41f4b71Sopenharmony_ci 3700e41f4b71Sopenharmony_ciArrayBufferView辅助类型包括:Int8Array、Int16Array、Int32Array、Uint8Array、Uint8ClampedArray、Uint32Array、Float32Array、Float64Array、DataView。 3701e41f4b71Sopenharmony_ci 3702e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3703e41f4b71Sopenharmony_ci 3704e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3705e41f4b71Sopenharmony_ci 3706e41f4b71Sopenharmony_ci**参数:** 3707e41f4b71Sopenharmony_ci 3708e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3709e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3710e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 3711e41f4b71Sopenharmony_ci 3712e41f4b71Sopenharmony_ci**返回值:** 3713e41f4b71Sopenharmony_ci 3714e41f4b71Sopenharmony_ci| 类型 | 说明 | 3715e41f4b71Sopenharmony_ci| -------- | -------- | 3716e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的ArrayBufferView辅助类型为true,反之为false。 | 3717e41f4b71Sopenharmony_ci 3718e41f4b71Sopenharmony_ci**示例:** 3719e41f4b71Sopenharmony_ci 3720e41f4b71Sopenharmony_ci ```ts 3721e41f4b71Sopenharmony_ci let type = new util.types(); 3722e41f4b71Sopenharmony_ci let result = type.isArrayBufferView(new Int8Array([])); 3723e41f4b71Sopenharmony_ci console.info("result = " + result); 3724e41f4b71Sopenharmony_ci // 输出结果:result = true 3725e41f4b71Sopenharmony_ci ``` 3726e41f4b71Sopenharmony_ci 3727e41f4b71Sopenharmony_ci 3728e41f4b71Sopenharmony_ci### isArgumentsObject<sup>8+</sup> 3729e41f4b71Sopenharmony_ci 3730e41f4b71Sopenharmony_ciisArgumentsObject(value: Object): boolean 3731e41f4b71Sopenharmony_ci 3732e41f4b71Sopenharmony_ci检查输入的value是否是一个arguments对象。 3733e41f4b71Sopenharmony_ci 3734e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3735e41f4b71Sopenharmony_ci 3736e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3737e41f4b71Sopenharmony_ci 3738e41f4b71Sopenharmony_ci**参数:** 3739e41f4b71Sopenharmony_ci 3740e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3741e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3742e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 3743e41f4b71Sopenharmony_ci 3744e41f4b71Sopenharmony_ci**返回值:** 3745e41f4b71Sopenharmony_ci 3746e41f4b71Sopenharmony_ci| 类型 | 说明 | 3747e41f4b71Sopenharmony_ci| -------- | -------- | 3748e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是一个arguments对象为true,反之为false。 | 3749e41f4b71Sopenharmony_ci 3750e41f4b71Sopenharmony_ci**示例:** 3751e41f4b71Sopenharmony_ci 3752e41f4b71Sopenharmony_ci ```ts 3753e41f4b71Sopenharmony_ci let type = new util.types(); 3754e41f4b71Sopenharmony_ci function foo() { 3755e41f4b71Sopenharmony_ci let result = type.isArgumentsObject(arguments); 3756e41f4b71Sopenharmony_ci console.info("result = " + result); 3757e41f4b71Sopenharmony_ci } 3758e41f4b71Sopenharmony_ci let f = foo(); 3759e41f4b71Sopenharmony_ci // 输出结果:result = true 3760e41f4b71Sopenharmony_ci ``` 3761e41f4b71Sopenharmony_ci 3762e41f4b71Sopenharmony_ci 3763e41f4b71Sopenharmony_ci### isArrayBuffer<sup>8+</sup> 3764e41f4b71Sopenharmony_ci 3765e41f4b71Sopenharmony_ciisArrayBuffer(value: Object): boolean 3766e41f4b71Sopenharmony_ci 3767e41f4b71Sopenharmony_ci检查输入的value是否是ArrayBuffer类型。 3768e41f4b71Sopenharmony_ci 3769e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3770e41f4b71Sopenharmony_ci 3771e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3772e41f4b71Sopenharmony_ci 3773e41f4b71Sopenharmony_ci**参数:** 3774e41f4b71Sopenharmony_ci 3775e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3776e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3777e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 3778e41f4b71Sopenharmony_ci 3779e41f4b71Sopenharmony_ci**返回值:** 3780e41f4b71Sopenharmony_ci 3781e41f4b71Sopenharmony_ci| 类型 | 说明 | 3782e41f4b71Sopenharmony_ci| -------- | -------- | 3783e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的ArrayBuffer类型为true,反之为false。 | 3784e41f4b71Sopenharmony_ci 3785e41f4b71Sopenharmony_ci**示例:** 3786e41f4b71Sopenharmony_ci 3787e41f4b71Sopenharmony_ci ```ts 3788e41f4b71Sopenharmony_ci let type = new util.types(); 3789e41f4b71Sopenharmony_ci let result = type.isArrayBuffer(new ArrayBuffer(0)); 3790e41f4b71Sopenharmony_ci console.info("result = " + result); 3791e41f4b71Sopenharmony_ci // 输出结果:result = true 3792e41f4b71Sopenharmony_ci ``` 3793e41f4b71Sopenharmony_ci 3794e41f4b71Sopenharmony_ci 3795e41f4b71Sopenharmony_ci### isAsyncFunction<sup>8+</sup> 3796e41f4b71Sopenharmony_ci 3797e41f4b71Sopenharmony_ciisAsyncFunction(value: Object): boolean 3798e41f4b71Sopenharmony_ci 3799e41f4b71Sopenharmony_ci检查输入的value是否是一个异步函数类型。 3800e41f4b71Sopenharmony_ci 3801e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3802e41f4b71Sopenharmony_ci 3803e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3804e41f4b71Sopenharmony_ci 3805e41f4b71Sopenharmony_ci**参数:** 3806e41f4b71Sopenharmony_ci 3807e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3808e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3809e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 3810e41f4b71Sopenharmony_ci 3811e41f4b71Sopenharmony_ci**返回值:** 3812e41f4b71Sopenharmony_ci 3813e41f4b71Sopenharmony_ci| 类型 | 说明 | 3814e41f4b71Sopenharmony_ci| -------- | -------- | 3815e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的异步函数类型为true,反之为false。 | 3816e41f4b71Sopenharmony_ci 3817e41f4b71Sopenharmony_ci**示例:** 3818e41f4b71Sopenharmony_ci 3819e41f4b71Sopenharmony_ci ```ts 3820e41f4b71Sopenharmony_ci let type = new util.types(); 3821e41f4b71Sopenharmony_ci let result = type.isAsyncFunction(async () => {}); 3822e41f4b71Sopenharmony_ci console.info("result = " + result); 3823e41f4b71Sopenharmony_ci // 输出结果:result = true 3824e41f4b71Sopenharmony_ci ``` 3825e41f4b71Sopenharmony_ci 3826e41f4b71Sopenharmony_ci 3827e41f4b71Sopenharmony_ci### isBooleanObject<sup>8+</sup> 3828e41f4b71Sopenharmony_ci 3829e41f4b71Sopenharmony_ciisBooleanObject(value: Object): boolean 3830e41f4b71Sopenharmony_ci 3831e41f4b71Sopenharmony_ci检查输入的value是否是一个Boolean对象类型。 3832e41f4b71Sopenharmony_ci 3833e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3834e41f4b71Sopenharmony_ci 3835e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3836e41f4b71Sopenharmony_ci 3837e41f4b71Sopenharmony_ci**参数:** 3838e41f4b71Sopenharmony_ci 3839e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3840e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3841e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 3842e41f4b71Sopenharmony_ci 3843e41f4b71Sopenharmony_ci**返回值:** 3844e41f4b71Sopenharmony_ci 3845e41f4b71Sopenharmony_ci| 类型 | 说明 | 3846e41f4b71Sopenharmony_ci| -------- | -------- | 3847e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Boolean对象类型为true,反之为false。 | 3848e41f4b71Sopenharmony_ci 3849e41f4b71Sopenharmony_ci**示例:** 3850e41f4b71Sopenharmony_ci 3851e41f4b71Sopenharmony_ci ```ts 3852e41f4b71Sopenharmony_ci let type = new util.types(); 3853e41f4b71Sopenharmony_ci let result = type.isBooleanObject(new Boolean(true)); 3854e41f4b71Sopenharmony_ci console.info("result = " + result); 3855e41f4b71Sopenharmony_ci // 输出结果:result = true 3856e41f4b71Sopenharmony_ci ``` 3857e41f4b71Sopenharmony_ci 3858e41f4b71Sopenharmony_ci 3859e41f4b71Sopenharmony_ci### isBoxedPrimitive<sup>8+</sup> 3860e41f4b71Sopenharmony_ci 3861e41f4b71Sopenharmony_ciisBoxedPrimitive(value: Object): boolean 3862e41f4b71Sopenharmony_ci 3863e41f4b71Sopenharmony_ci检查输入的value是否是Boolean或Number或String或Symbol对象类型。 3864e41f4b71Sopenharmony_ci 3865e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3866e41f4b71Sopenharmony_ci 3867e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3868e41f4b71Sopenharmony_ci 3869e41f4b71Sopenharmony_ci**参数:** 3870e41f4b71Sopenharmony_ci 3871e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3872e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3873e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 3874e41f4b71Sopenharmony_ci 3875e41f4b71Sopenharmony_ci**返回值:** 3876e41f4b71Sopenharmony_ci 3877e41f4b71Sopenharmony_ci| 类型 | 说明 | 3878e41f4b71Sopenharmony_ci| -------- | -------- | 3879e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Boolean或Number或String或Symbol对象类型为true,反之为false。 | 3880e41f4b71Sopenharmony_ci 3881e41f4b71Sopenharmony_ci**示例:** 3882e41f4b71Sopenharmony_ci 3883e41f4b71Sopenharmony_ci ```ts 3884e41f4b71Sopenharmony_ci let type = new util.types(); 3885e41f4b71Sopenharmony_ci let result = type.isBoxedPrimitive(new Boolean(false)); 3886e41f4b71Sopenharmony_ci console.info("result = " + result); 3887e41f4b71Sopenharmony_ci // 输出结果:result = true 3888e41f4b71Sopenharmony_ci ``` 3889e41f4b71Sopenharmony_ci 3890e41f4b71Sopenharmony_ci 3891e41f4b71Sopenharmony_ci### isDataView<sup>8+</sup> 3892e41f4b71Sopenharmony_ci 3893e41f4b71Sopenharmony_ciisDataView(value: Object): boolean 3894e41f4b71Sopenharmony_ci 3895e41f4b71Sopenharmony_ci检查输入的value是否是DataView类型。 3896e41f4b71Sopenharmony_ci 3897e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3898e41f4b71Sopenharmony_ci 3899e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3900e41f4b71Sopenharmony_ci 3901e41f4b71Sopenharmony_ci**参数:** 3902e41f4b71Sopenharmony_ci 3903e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3904e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3905e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 3906e41f4b71Sopenharmony_ci 3907e41f4b71Sopenharmony_ci**返回值:** 3908e41f4b71Sopenharmony_ci 3909e41f4b71Sopenharmony_ci| 类型 | 说明 | 3910e41f4b71Sopenharmony_ci| -------- | -------- | 3911e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的DataView对象类型为true,反之为false。 | 3912e41f4b71Sopenharmony_ci 3913e41f4b71Sopenharmony_ci**示例:** 3914e41f4b71Sopenharmony_ci 3915e41f4b71Sopenharmony_ci ```ts 3916e41f4b71Sopenharmony_ci let type = new util.types(); 3917e41f4b71Sopenharmony_ci const ab = new ArrayBuffer(20); 3918e41f4b71Sopenharmony_ci let result = type.isDataView(new DataView(ab)); 3919e41f4b71Sopenharmony_ci console.info("result = " + result); 3920e41f4b71Sopenharmony_ci // 输出结果:result = true 3921e41f4b71Sopenharmony_ci ``` 3922e41f4b71Sopenharmony_ci 3923e41f4b71Sopenharmony_ci 3924e41f4b71Sopenharmony_ci### isDate<sup>8+</sup> 3925e41f4b71Sopenharmony_ci 3926e41f4b71Sopenharmony_ciisDate(value: Object): boolean 3927e41f4b71Sopenharmony_ci 3928e41f4b71Sopenharmony_ci检查输入的value是否是Date类型。 3929e41f4b71Sopenharmony_ci 3930e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3931e41f4b71Sopenharmony_ci 3932e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3933e41f4b71Sopenharmony_ci 3934e41f4b71Sopenharmony_ci**参数:** 3935e41f4b71Sopenharmony_ci 3936e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3937e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3938e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 3939e41f4b71Sopenharmony_ci 3940e41f4b71Sopenharmony_ci**返回值:** 3941e41f4b71Sopenharmony_ci 3942e41f4b71Sopenharmony_ci| 类型 | 说明 | 3943e41f4b71Sopenharmony_ci| -------- | -------- | 3944e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Date对象类型为true,反之为false。 | 3945e41f4b71Sopenharmony_ci 3946e41f4b71Sopenharmony_ci**示例:** 3947e41f4b71Sopenharmony_ci 3948e41f4b71Sopenharmony_ci ```ts 3949e41f4b71Sopenharmony_ci let type = new util.types(); 3950e41f4b71Sopenharmony_ci let result = type.isDate(new Date()); 3951e41f4b71Sopenharmony_ci console.info("result = " + result); 3952e41f4b71Sopenharmony_ci // 输出结果:result = true 3953e41f4b71Sopenharmony_ci ``` 3954e41f4b71Sopenharmony_ci 3955e41f4b71Sopenharmony_ci 3956e41f4b71Sopenharmony_ci### isExternal<sup>8+</sup> 3957e41f4b71Sopenharmony_ci 3958e41f4b71Sopenharmony_ciisExternal(value: Object): boolean 3959e41f4b71Sopenharmony_ci 3960e41f4b71Sopenharmony_ci检查输入的value是否是native External类型。 3961e41f4b71Sopenharmony_ci 3962e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 3963e41f4b71Sopenharmony_ci 3964e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 3965e41f4b71Sopenharmony_ci 3966e41f4b71Sopenharmony_ci**参数:** 3967e41f4b71Sopenharmony_ci 3968e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3969e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 3970e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 3971e41f4b71Sopenharmony_ci 3972e41f4b71Sopenharmony_ci**返回值:** 3973e41f4b71Sopenharmony_ci 3974e41f4b71Sopenharmony_ci| 类型 | 说明 | 3975e41f4b71Sopenharmony_ci| -------- | -------- | 3976e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含native External类型为true,反之为false。 | 3977e41f4b71Sopenharmony_ci 3978e41f4b71Sopenharmony_ci**示例:** 3979e41f4b71Sopenharmony_ci 3980e41f4b71Sopenharmony_ci ```cpp 3981e41f4b71Sopenharmony_ci // /entry/src/main/cpp/napi_init.cpp 3982e41f4b71Sopenharmony_ci #include "napi/native_api.h" 3983e41f4b71Sopenharmony_ci #include <js_native_api.h> 3984e41f4b71Sopenharmony_ci #include <stdlib.h> 3985e41f4b71Sopenharmony_ci 3986e41f4b71Sopenharmony_ci napi_value result; 3987e41f4b71Sopenharmony_ci static napi_value Testexternal(napi_env env, napi_callback_info info) { 3988e41f4b71Sopenharmony_ci int* raw = (int*) malloc(1024); 3989e41f4b71Sopenharmony_ci napi_status status = napi_create_external(env, (void*) raw, NULL, NULL, &result); 3990e41f4b71Sopenharmony_ci if (status != napi_ok) { 3991e41f4b71Sopenharmony_ci napi_throw_error(env, NULL, "create external failed"); 3992e41f4b71Sopenharmony_ci return NULL; 3993e41f4b71Sopenharmony_ci } 3994e41f4b71Sopenharmony_ci return result; 3995e41f4b71Sopenharmony_ci } 3996e41f4b71Sopenharmony_ci 3997e41f4b71Sopenharmony_ci EXTERN_C_START 3998e41f4b71Sopenharmony_ci static napi_value Init(napi_env env, napi_value exports) 3999e41f4b71Sopenharmony_ci { 4000e41f4b71Sopenharmony_ci napi_property_descriptor desc[] = { 4001e41f4b71Sopenharmony_ci {"testexternal", nullptr, Testexternal, nullptr, nullptr, nullptr, napi_default, nullptr}, 4002e41f4b71Sopenharmony_ci }; 4003e41f4b71Sopenharmony_ci napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc); 4004e41f4b71Sopenharmony_ci return exports; 4005e41f4b71Sopenharmony_ci } 4006e41f4b71Sopenharmony_ci EXTERN_C_END 4007e41f4b71Sopenharmony_ci // 此处已省略模块注册的代码, 你可能需要自行注册Testexternal方法 4008e41f4b71Sopenharmony_ci ... 4009e41f4b71Sopenharmony_ci 4010e41f4b71Sopenharmony_ci ``` 4011e41f4b71Sopenharmony_ci 4012e41f4b71Sopenharmony_ci <!--code_no_check--> 4013e41f4b71Sopenharmony_ci ```ts 4014e41f4b71Sopenharmony_ci import testNapi from 'libentry.so'; 4015e41f4b71Sopenharmony_ci 4016e41f4b71Sopenharmony_ci let type = new util.types(); 4017e41f4b71Sopenharmony_ci const data = testNapi.testexternal(); 4018e41f4b71Sopenharmony_ci let result = type.isExternal(data); 4019e41f4b71Sopenharmony_ci 4020e41f4b71Sopenharmony_ci let result01 = type.isExternal(true); 4021e41f4b71Sopenharmony_ci console.info("result = " + result); 4022e41f4b71Sopenharmony_ci console.info("result01 = " + result01); 4023e41f4b71Sopenharmony_ci // 输出结果:result = true 4024e41f4b71Sopenharmony_ci // 输出结果:result01 = false 4025e41f4b71Sopenharmony_ci ``` 4026e41f4b71Sopenharmony_ci 4027e41f4b71Sopenharmony_ci 4028e41f4b71Sopenharmony_ci### isFloat32Array<sup>8+</sup> 4029e41f4b71Sopenharmony_ci 4030e41f4b71Sopenharmony_ciisFloat32Array(value: Object): boolean 4031e41f4b71Sopenharmony_ci 4032e41f4b71Sopenharmony_ci检查输入的value是否是Float32Array数组类型。 4033e41f4b71Sopenharmony_ci 4034e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4035e41f4b71Sopenharmony_ci 4036e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4037e41f4b71Sopenharmony_ci 4038e41f4b71Sopenharmony_ci**参数:** 4039e41f4b71Sopenharmony_ci 4040e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4041e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4042e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4043e41f4b71Sopenharmony_ci 4044e41f4b71Sopenharmony_ci**返回值:** 4045e41f4b71Sopenharmony_ci 4046e41f4b71Sopenharmony_ci| 类型 | 说明 | 4047e41f4b71Sopenharmony_ci| -------- | -------- | 4048e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Float32Array数组类型为true,反之为false。 | 4049e41f4b71Sopenharmony_ci 4050e41f4b71Sopenharmony_ci**示例:** 4051e41f4b71Sopenharmony_ci 4052e41f4b71Sopenharmony_ci ```ts 4053e41f4b71Sopenharmony_ci let type = new util.types(); 4054e41f4b71Sopenharmony_ci let result = type.isFloat32Array(new Float32Array()); 4055e41f4b71Sopenharmony_ci console.info("result = " + result); 4056e41f4b71Sopenharmony_ci // 输出结果:result = true 4057e41f4b71Sopenharmony_ci ``` 4058e41f4b71Sopenharmony_ci 4059e41f4b71Sopenharmony_ci 4060e41f4b71Sopenharmony_ci### isFloat64Array<sup>8+</sup> 4061e41f4b71Sopenharmony_ci 4062e41f4b71Sopenharmony_ciisFloat64Array(value: Object): boolean 4063e41f4b71Sopenharmony_ci 4064e41f4b71Sopenharmony_ci检查输入的value是否是Float64Array数组类型。 4065e41f4b71Sopenharmony_ci 4066e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4067e41f4b71Sopenharmony_ci 4068e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4069e41f4b71Sopenharmony_ci 4070e41f4b71Sopenharmony_ci**参数:** 4071e41f4b71Sopenharmony_ci 4072e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4073e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4074e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4075e41f4b71Sopenharmony_ci 4076e41f4b71Sopenharmony_ci**返回值:** 4077e41f4b71Sopenharmony_ci 4078e41f4b71Sopenharmony_ci| 类型 | 说明 | 4079e41f4b71Sopenharmony_ci| -------- | -------- | 4080e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Float64Array数组类型为true,反之为false。 | 4081e41f4b71Sopenharmony_ci 4082e41f4b71Sopenharmony_ci**示例:** 4083e41f4b71Sopenharmony_ci 4084e41f4b71Sopenharmony_ci ```ts 4085e41f4b71Sopenharmony_ci let type = new util.types(); 4086e41f4b71Sopenharmony_ci let result = type.isFloat64Array(new Float64Array()); 4087e41f4b71Sopenharmony_ci console.info("result = " + result); 4088e41f4b71Sopenharmony_ci // 输出结果:result = true 4089e41f4b71Sopenharmony_ci ``` 4090e41f4b71Sopenharmony_ci 4091e41f4b71Sopenharmony_ci 4092e41f4b71Sopenharmony_ci### isGeneratorFunction<sup>8+</sup> 4093e41f4b71Sopenharmony_ci 4094e41f4b71Sopenharmony_ciisGeneratorFunction(value: Object): boolean 4095e41f4b71Sopenharmony_ci 4096e41f4b71Sopenharmony_ci检查输入的value是否是generator函数类型。 4097e41f4b71Sopenharmony_ci 4098e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4099e41f4b71Sopenharmony_ci 4100e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4101e41f4b71Sopenharmony_ci 4102e41f4b71Sopenharmony_ci**参数:** 4103e41f4b71Sopenharmony_ci 4104e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4105e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4106e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4107e41f4b71Sopenharmony_ci 4108e41f4b71Sopenharmony_ci**返回值:** 4109e41f4b71Sopenharmony_ci 4110e41f4b71Sopenharmony_ci| 类型 | 说明 | 4111e41f4b71Sopenharmony_ci| -------- | -------- | 4112e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的generator函数类型为true,反之为false。 | 4113e41f4b71Sopenharmony_ci 4114e41f4b71Sopenharmony_ci**示例:** 4115e41f4b71Sopenharmony_ci 4116e41f4b71Sopenharmony_ci ```ts 4117e41f4b71Sopenharmony_ci // /entry/src/main/ets/pages/test.ts 4118e41f4b71Sopenharmony_ci export function* foo() {} 4119e41f4b71Sopenharmony_ci ``` 4120e41f4b71Sopenharmony_ci 4121e41f4b71Sopenharmony_ci ```ts 4122e41f4b71Sopenharmony_ci import { foo } from './test' 4123e41f4b71Sopenharmony_ci 4124e41f4b71Sopenharmony_ci let type = new util.types(); 4125e41f4b71Sopenharmony_ci let result = type.isGeneratorFunction(foo); 4126e41f4b71Sopenharmony_ci console.info("result = " + result); 4127e41f4b71Sopenharmony_ci // 输出结果:result = true 4128e41f4b71Sopenharmony_ci ``` 4129e41f4b71Sopenharmony_ci 4130e41f4b71Sopenharmony_ci 4131e41f4b71Sopenharmony_ci### isGeneratorObject<sup>8+</sup> 4132e41f4b71Sopenharmony_ci 4133e41f4b71Sopenharmony_ciisGeneratorObject(value: Object): boolean 4134e41f4b71Sopenharmony_ci 4135e41f4b71Sopenharmony_ci检查输入的value是否是generator对象类型。 4136e41f4b71Sopenharmony_ci 4137e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4138e41f4b71Sopenharmony_ci 4139e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4140e41f4b71Sopenharmony_ci 4141e41f4b71Sopenharmony_ci**参数:** 4142e41f4b71Sopenharmony_ci 4143e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4144e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4145e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4146e41f4b71Sopenharmony_ci 4147e41f4b71Sopenharmony_ci**返回值:** 4148e41f4b71Sopenharmony_ci 4149e41f4b71Sopenharmony_ci| 类型 | 说明 | 4150e41f4b71Sopenharmony_ci| -------- | -------- | 4151e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的generator对象类型为true,反之为false。 | 4152e41f4b71Sopenharmony_ci 4153e41f4b71Sopenharmony_ci**示例:** 4154e41f4b71Sopenharmony_ci 4155e41f4b71Sopenharmony_ci ```ts 4156e41f4b71Sopenharmony_ci // /entry/src/main/ets/pages/test.ts 4157e41f4b71Sopenharmony_ci function* foo() {} 4158e41f4b71Sopenharmony_ci export const generator = foo(); 4159e41f4b71Sopenharmony_ci ``` 4160e41f4b71Sopenharmony_ci 4161e41f4b71Sopenharmony_ci ```ts 4162e41f4b71Sopenharmony_ci import { generator } from './test' 4163e41f4b71Sopenharmony_ci 4164e41f4b71Sopenharmony_ci let type = new util.types(); 4165e41f4b71Sopenharmony_ci let result = type.isGeneratorObject(generator); 4166e41f4b71Sopenharmony_ci console.info("result = " + result); 4167e41f4b71Sopenharmony_ci // 输出结果:result = true 4168e41f4b71Sopenharmony_ci ``` 4169e41f4b71Sopenharmony_ci 4170e41f4b71Sopenharmony_ci 4171e41f4b71Sopenharmony_ci### isInt8Array<sup>8+</sup> 4172e41f4b71Sopenharmony_ci 4173e41f4b71Sopenharmony_ciisInt8Array(value: Object): boolean 4174e41f4b71Sopenharmony_ci 4175e41f4b71Sopenharmony_ci检查输入的value是否是Int8Array数组类型。 4176e41f4b71Sopenharmony_ci 4177e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4178e41f4b71Sopenharmony_ci 4179e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4180e41f4b71Sopenharmony_ci 4181e41f4b71Sopenharmony_ci**参数:** 4182e41f4b71Sopenharmony_ci 4183e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4184e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4185e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4186e41f4b71Sopenharmony_ci 4187e41f4b71Sopenharmony_ci**返回值:** 4188e41f4b71Sopenharmony_ci 4189e41f4b71Sopenharmony_ci| 类型 | 说明 | 4190e41f4b71Sopenharmony_ci| -------- | -------- | 4191e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Int8Array数组类型为true,反之为false。 | 4192e41f4b71Sopenharmony_ci 4193e41f4b71Sopenharmony_ci**示例:** 4194e41f4b71Sopenharmony_ci 4195e41f4b71Sopenharmony_ci ```ts 4196e41f4b71Sopenharmony_ci let type = new util.types(); 4197e41f4b71Sopenharmony_ci let result = type.isInt8Array(new Int8Array([])); 4198e41f4b71Sopenharmony_ci console.info("result = " + result); 4199e41f4b71Sopenharmony_ci // 输出结果:result = true 4200e41f4b71Sopenharmony_ci ``` 4201e41f4b71Sopenharmony_ci 4202e41f4b71Sopenharmony_ci 4203e41f4b71Sopenharmony_ci### isInt16Array<sup>8+</sup> 4204e41f4b71Sopenharmony_ci 4205e41f4b71Sopenharmony_ciisInt16Array(value: Object): boolean 4206e41f4b71Sopenharmony_ci 4207e41f4b71Sopenharmony_ci检查输入的value是否是Int16Array数组类型。 4208e41f4b71Sopenharmony_ci 4209e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4210e41f4b71Sopenharmony_ci 4211e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4212e41f4b71Sopenharmony_ci 4213e41f4b71Sopenharmony_ci**参数:** 4214e41f4b71Sopenharmony_ci 4215e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4216e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4217e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4218e41f4b71Sopenharmony_ci 4219e41f4b71Sopenharmony_ci**返回值:** 4220e41f4b71Sopenharmony_ci 4221e41f4b71Sopenharmony_ci| 类型 | 说明 | 4222e41f4b71Sopenharmony_ci| -------- | -------- | 4223e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Int16Array数组类型为true,反之为false。 | 4224e41f4b71Sopenharmony_ci 4225e41f4b71Sopenharmony_ci**示例:** 4226e41f4b71Sopenharmony_ci 4227e41f4b71Sopenharmony_ci ```ts 4228e41f4b71Sopenharmony_ci let type = new util.types(); 4229e41f4b71Sopenharmony_ci let result = type.isInt16Array(new Int16Array([])); 4230e41f4b71Sopenharmony_ci console.info("result = " + result); 4231e41f4b71Sopenharmony_ci // 输出结果:result = true 4232e41f4b71Sopenharmony_ci ``` 4233e41f4b71Sopenharmony_ci 4234e41f4b71Sopenharmony_ci 4235e41f4b71Sopenharmony_ci### isInt32Array<sup>8+</sup> 4236e41f4b71Sopenharmony_ci 4237e41f4b71Sopenharmony_ciisInt32Array(value: Object): boolean 4238e41f4b71Sopenharmony_ci 4239e41f4b71Sopenharmony_ci检查输入的value是否是Int32Array数组类型。 4240e41f4b71Sopenharmony_ci 4241e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4242e41f4b71Sopenharmony_ci 4243e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4244e41f4b71Sopenharmony_ci 4245e41f4b71Sopenharmony_ci**参数:** 4246e41f4b71Sopenharmony_ci 4247e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4248e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4249e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4250e41f4b71Sopenharmony_ci 4251e41f4b71Sopenharmony_ci**返回值:** 4252e41f4b71Sopenharmony_ci 4253e41f4b71Sopenharmony_ci| 类型 | 说明 | 4254e41f4b71Sopenharmony_ci| -------- | -------- | 4255e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Int32Array数组类型为true,反之为false。 | 4256e41f4b71Sopenharmony_ci 4257e41f4b71Sopenharmony_ci**示例:** 4258e41f4b71Sopenharmony_ci 4259e41f4b71Sopenharmony_ci ```ts 4260e41f4b71Sopenharmony_ci let type = new util.types(); 4261e41f4b71Sopenharmony_ci let result = type.isInt32Array(new Int32Array([])); 4262e41f4b71Sopenharmony_ci console.info("result = " + result); 4263e41f4b71Sopenharmony_ci // 输出结果:result = true 4264e41f4b71Sopenharmony_ci ``` 4265e41f4b71Sopenharmony_ci 4266e41f4b71Sopenharmony_ci 4267e41f4b71Sopenharmony_ci### isMap<sup>8+</sup> 4268e41f4b71Sopenharmony_ci 4269e41f4b71Sopenharmony_ciisMap(value: Object): boolean 4270e41f4b71Sopenharmony_ci 4271e41f4b71Sopenharmony_ci检查输入的value是否是Map类型。 4272e41f4b71Sopenharmony_ci 4273e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4274e41f4b71Sopenharmony_ci 4275e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4276e41f4b71Sopenharmony_ci 4277e41f4b71Sopenharmony_ci**参数:** 4278e41f4b71Sopenharmony_ci 4279e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4280e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4281e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4282e41f4b71Sopenharmony_ci 4283e41f4b71Sopenharmony_ci**返回值:** 4284e41f4b71Sopenharmony_ci 4285e41f4b71Sopenharmony_ci| 类型 | 说明 | 4286e41f4b71Sopenharmony_ci| -------- | -------- | 4287e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Map类型为true,反之为false。 | 4288e41f4b71Sopenharmony_ci 4289e41f4b71Sopenharmony_ci**示例:** 4290e41f4b71Sopenharmony_ci 4291e41f4b71Sopenharmony_ci ```ts 4292e41f4b71Sopenharmony_ci let type = new util.types(); 4293e41f4b71Sopenharmony_ci let result = type.isMap(new Map()); 4294e41f4b71Sopenharmony_ci console.info("result = " + result); 4295e41f4b71Sopenharmony_ci // 输出结果:result = true 4296e41f4b71Sopenharmony_ci ``` 4297e41f4b71Sopenharmony_ci 4298e41f4b71Sopenharmony_ci 4299e41f4b71Sopenharmony_ci### isMapIterator<sup>8+</sup> 4300e41f4b71Sopenharmony_ci 4301e41f4b71Sopenharmony_ciisMapIterator(value: Object): boolean 4302e41f4b71Sopenharmony_ci 4303e41f4b71Sopenharmony_ci检查输入的value是否是Map的Iterator类型。 4304e41f4b71Sopenharmony_ci 4305e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4306e41f4b71Sopenharmony_ci 4307e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4308e41f4b71Sopenharmony_ci 4309e41f4b71Sopenharmony_ci**参数:** 4310e41f4b71Sopenharmony_ci 4311e41f4b71Sopenharmony_ci 4312e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4313e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4314e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4315e41f4b71Sopenharmony_ci 4316e41f4b71Sopenharmony_ci**返回值:** 4317e41f4b71Sopenharmony_ci 4318e41f4b71Sopenharmony_ci| 类型 | 说明 | 4319e41f4b71Sopenharmony_ci| -------- | -------- | 4320e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Map的Iterator类型为true,反之为false。 | 4321e41f4b71Sopenharmony_ci 4322e41f4b71Sopenharmony_ci**示例:** 4323e41f4b71Sopenharmony_ci 4324e41f4b71Sopenharmony_ci ```ts 4325e41f4b71Sopenharmony_ci let type = new util.types(); 4326e41f4b71Sopenharmony_ci const map : Map<number,number> = new Map(); 4327e41f4b71Sopenharmony_ci let result = type.isMapIterator(map.keys()); 4328e41f4b71Sopenharmony_ci console.info("result = " + result); 4329e41f4b71Sopenharmony_ci // 输出结果:result = true 4330e41f4b71Sopenharmony_ci ``` 4331e41f4b71Sopenharmony_ci 4332e41f4b71Sopenharmony_ci 4333e41f4b71Sopenharmony_ci### isNativeError<sup>8+</sup> 4334e41f4b71Sopenharmony_ci 4335e41f4b71Sopenharmony_ciisNativeError(value: Object): boolean 4336e41f4b71Sopenharmony_ci 4337e41f4b71Sopenharmony_ci检查输入的value是否是Error类型。 4338e41f4b71Sopenharmony_ci 4339e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4340e41f4b71Sopenharmony_ci 4341e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4342e41f4b71Sopenharmony_ci 4343e41f4b71Sopenharmony_ci**参数:** 4344e41f4b71Sopenharmony_ci 4345e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4346e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4347e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4348e41f4b71Sopenharmony_ci 4349e41f4b71Sopenharmony_ci**返回值:** 4350e41f4b71Sopenharmony_ci 4351e41f4b71Sopenharmony_ci| 类型 | 说明 | 4352e41f4b71Sopenharmony_ci| -------- | -------- | 4353e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Error类型为true,反之为false。 | 4354e41f4b71Sopenharmony_ci 4355e41f4b71Sopenharmony_ci**示例:** 4356e41f4b71Sopenharmony_ci 4357e41f4b71Sopenharmony_ci ```ts 4358e41f4b71Sopenharmony_ci let type = new util.types(); 4359e41f4b71Sopenharmony_ci let result = type.isNativeError(new TypeError()); 4360e41f4b71Sopenharmony_ci console.info("result = " + result); 4361e41f4b71Sopenharmony_ci // 输出结果:result = true 4362e41f4b71Sopenharmony_ci ``` 4363e41f4b71Sopenharmony_ci 4364e41f4b71Sopenharmony_ci 4365e41f4b71Sopenharmony_ci### isNumberObject<sup>8+</sup> 4366e41f4b71Sopenharmony_ci 4367e41f4b71Sopenharmony_ciisNumberObject(value: Object): boolean 4368e41f4b71Sopenharmony_ci 4369e41f4b71Sopenharmony_ci检查输入的value是否是Number对象类型。 4370e41f4b71Sopenharmony_ci 4371e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4372e41f4b71Sopenharmony_ci 4373e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4374e41f4b71Sopenharmony_ci 4375e41f4b71Sopenharmony_ci**参数:** 4376e41f4b71Sopenharmony_ci 4377e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4378e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4379e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4380e41f4b71Sopenharmony_ci 4381e41f4b71Sopenharmony_ci**返回值:** 4382e41f4b71Sopenharmony_ci 4383e41f4b71Sopenharmony_ci| 类型 | 说明 | 4384e41f4b71Sopenharmony_ci| -------- | -------- | 4385e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Number对象类型为true,反之为false。 | 4386e41f4b71Sopenharmony_ci 4387e41f4b71Sopenharmony_ci**示例:** 4388e41f4b71Sopenharmony_ci 4389e41f4b71Sopenharmony_ci ```ts 4390e41f4b71Sopenharmony_ci let type = new util.types(); 4391e41f4b71Sopenharmony_ci let result = type.isNumberObject(new Number(0)); 4392e41f4b71Sopenharmony_ci console.info("result = " + result); 4393e41f4b71Sopenharmony_ci // 输出结果:result = true 4394e41f4b71Sopenharmony_ci ``` 4395e41f4b71Sopenharmony_ci 4396e41f4b71Sopenharmony_ci 4397e41f4b71Sopenharmony_ci### isPromise<sup>8+</sup> 4398e41f4b71Sopenharmony_ci 4399e41f4b71Sopenharmony_ciisPromise(value: Object): boolean 4400e41f4b71Sopenharmony_ci 4401e41f4b71Sopenharmony_ci检查输入的value是否是Promise类型。 4402e41f4b71Sopenharmony_ci 4403e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4404e41f4b71Sopenharmony_ci 4405e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4406e41f4b71Sopenharmony_ci 4407e41f4b71Sopenharmony_ci**参数:** 4408e41f4b71Sopenharmony_ci 4409e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4410e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4411e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4412e41f4b71Sopenharmony_ci 4413e41f4b71Sopenharmony_ci**返回值:** 4414e41f4b71Sopenharmony_ci 4415e41f4b71Sopenharmony_ci| 类型 | 说明 | 4416e41f4b71Sopenharmony_ci| -------- | -------- | 4417e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Promise类型为true,反之为false。 | 4418e41f4b71Sopenharmony_ci 4419e41f4b71Sopenharmony_ci**示例:** 4420e41f4b71Sopenharmony_ci 4421e41f4b71Sopenharmony_ci ```ts 4422e41f4b71Sopenharmony_ci let type = new util.types(); 4423e41f4b71Sopenharmony_ci let result = type.isPromise(Promise.resolve(1)); 4424e41f4b71Sopenharmony_ci console.info("result = " + result); 4425e41f4b71Sopenharmony_ci // 输出结果:result = true 4426e41f4b71Sopenharmony_ci ``` 4427e41f4b71Sopenharmony_ci 4428e41f4b71Sopenharmony_ci 4429e41f4b71Sopenharmony_ci### isProxy<sup>8+</sup> 4430e41f4b71Sopenharmony_ci 4431e41f4b71Sopenharmony_ciisProxy(value: Object): boolean 4432e41f4b71Sopenharmony_ci 4433e41f4b71Sopenharmony_ci检查输入的value是否是Proxy类型。 4434e41f4b71Sopenharmony_ci 4435e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4436e41f4b71Sopenharmony_ci 4437e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4438e41f4b71Sopenharmony_ci 4439e41f4b71Sopenharmony_ci**参数:** 4440e41f4b71Sopenharmony_ci 4441e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4442e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4443e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4444e41f4b71Sopenharmony_ci 4445e41f4b71Sopenharmony_ci**返回值:** 4446e41f4b71Sopenharmony_ci 4447e41f4b71Sopenharmony_ci| 类型 | 说明 | 4448e41f4b71Sopenharmony_ci| -------- | -------- | 4449e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Proxy类型为true,反之为false。 | 4450e41f4b71Sopenharmony_ci 4451e41f4b71Sopenharmony_ci**示例:** 4452e41f4b71Sopenharmony_ci 4453e41f4b71Sopenharmony_ci ```ts 4454e41f4b71Sopenharmony_ci class Target{ 4455e41f4b71Sopenharmony_ci } 4456e41f4b71Sopenharmony_ci let type = new util.types(); 4457e41f4b71Sopenharmony_ci const target : Target = {}; 4458e41f4b71Sopenharmony_ci const proxy = new Proxy(target, target); 4459e41f4b71Sopenharmony_ci let result = type.isProxy(proxy); 4460e41f4b71Sopenharmony_ci console.info("result = " + result); 4461e41f4b71Sopenharmony_ci // 输出结果:result = true 4462e41f4b71Sopenharmony_ci ``` 4463e41f4b71Sopenharmony_ci 4464e41f4b71Sopenharmony_ci 4465e41f4b71Sopenharmony_ci### isRegExp<sup>8+</sup> 4466e41f4b71Sopenharmony_ci 4467e41f4b71Sopenharmony_ciisRegExp(value: Object): boolean 4468e41f4b71Sopenharmony_ci 4469e41f4b71Sopenharmony_ci检查输入的value是否是RegExp类型。 4470e41f4b71Sopenharmony_ci 4471e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4472e41f4b71Sopenharmony_ci 4473e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4474e41f4b71Sopenharmony_ci 4475e41f4b71Sopenharmony_ci**参数:** 4476e41f4b71Sopenharmony_ci 4477e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4478e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4479e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4480e41f4b71Sopenharmony_ci 4481e41f4b71Sopenharmony_ci**返回值:** 4482e41f4b71Sopenharmony_ci 4483e41f4b71Sopenharmony_ci| 类型 | 说明 | 4484e41f4b71Sopenharmony_ci| -------- | -------- | 4485e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的RegExp类型为true,反之为false。 | 4486e41f4b71Sopenharmony_ci 4487e41f4b71Sopenharmony_ci**示例:** 4488e41f4b71Sopenharmony_ci 4489e41f4b71Sopenharmony_ci ```ts 4490e41f4b71Sopenharmony_ci let type = new util.types(); 4491e41f4b71Sopenharmony_ci let result = type.isRegExp(new RegExp('abc')); 4492e41f4b71Sopenharmony_ci console.info("result = " + result); 4493e41f4b71Sopenharmony_ci // 输出结果:result = true 4494e41f4b71Sopenharmony_ci ``` 4495e41f4b71Sopenharmony_ci 4496e41f4b71Sopenharmony_ci 4497e41f4b71Sopenharmony_ci### isSet<sup>8+</sup> 4498e41f4b71Sopenharmony_ci 4499e41f4b71Sopenharmony_ciisSet(value: Object): boolean 4500e41f4b71Sopenharmony_ci 4501e41f4b71Sopenharmony_ci检查输入的value是否是Set类型。 4502e41f4b71Sopenharmony_ci 4503e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4504e41f4b71Sopenharmony_ci 4505e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4506e41f4b71Sopenharmony_ci 4507e41f4b71Sopenharmony_ci**参数:** 4508e41f4b71Sopenharmony_ci 4509e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4510e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4511e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4512e41f4b71Sopenharmony_ci 4513e41f4b71Sopenharmony_ci**返回值:** 4514e41f4b71Sopenharmony_ci 4515e41f4b71Sopenharmony_ci| 类型 | 说明 | 4516e41f4b71Sopenharmony_ci| -------- | -------- | 4517e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Set类型为true,反之为false。 | 4518e41f4b71Sopenharmony_ci 4519e41f4b71Sopenharmony_ci**示例:** 4520e41f4b71Sopenharmony_ci 4521e41f4b71Sopenharmony_ci ```ts 4522e41f4b71Sopenharmony_ci let type = new util.types(); 4523e41f4b71Sopenharmony_ci let set : Set<number> = new Set(); 4524e41f4b71Sopenharmony_ci let result = type.isSet(set); 4525e41f4b71Sopenharmony_ci console.info("result = " + result); 4526e41f4b71Sopenharmony_ci // 输出结果:result = true 4527e41f4b71Sopenharmony_ci ``` 4528e41f4b71Sopenharmony_ci 4529e41f4b71Sopenharmony_ci 4530e41f4b71Sopenharmony_ci### isSetIterator<sup>8+</sup> 4531e41f4b71Sopenharmony_ci 4532e41f4b71Sopenharmony_ciisSetIterator(value: Object): boolean 4533e41f4b71Sopenharmony_ci 4534e41f4b71Sopenharmony_ci检查输入的value是否是Set的Iterator类型。 4535e41f4b71Sopenharmony_ci 4536e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4537e41f4b71Sopenharmony_ci 4538e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4539e41f4b71Sopenharmony_ci 4540e41f4b71Sopenharmony_ci**参数:** 4541e41f4b71Sopenharmony_ci 4542e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4543e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4544e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4545e41f4b71Sopenharmony_ci 4546e41f4b71Sopenharmony_ci**返回值:** 4547e41f4b71Sopenharmony_ci 4548e41f4b71Sopenharmony_ci| 类型 | 说明 | 4549e41f4b71Sopenharmony_ci| -------- | -------- | 4550e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Set的Iterator类型为true,反之为false。 | 4551e41f4b71Sopenharmony_ci 4552e41f4b71Sopenharmony_ci**示例:** 4553e41f4b71Sopenharmony_ci 4554e41f4b71Sopenharmony_ci ```ts 4555e41f4b71Sopenharmony_ci let type = new util.types(); 4556e41f4b71Sopenharmony_ci const set : Set<number> = new Set(); 4557e41f4b71Sopenharmony_ci let result = type.isSetIterator(set.keys()); 4558e41f4b71Sopenharmony_ci console.info("result = " + result); 4559e41f4b71Sopenharmony_ci // 输出结果:result = true 4560e41f4b71Sopenharmony_ci ``` 4561e41f4b71Sopenharmony_ci 4562e41f4b71Sopenharmony_ci 4563e41f4b71Sopenharmony_ci### isStringObject<sup>8+</sup> 4564e41f4b71Sopenharmony_ci 4565e41f4b71Sopenharmony_ciisStringObject(value: Object): boolean 4566e41f4b71Sopenharmony_ci 4567e41f4b71Sopenharmony_ci检查输入的value是否是String对象类型。 4568e41f4b71Sopenharmony_ci 4569e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4570e41f4b71Sopenharmony_ci 4571e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4572e41f4b71Sopenharmony_ci 4573e41f4b71Sopenharmony_ci**参数:** 4574e41f4b71Sopenharmony_ci 4575e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4576e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4577e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4578e41f4b71Sopenharmony_ci 4579e41f4b71Sopenharmony_ci**返回值:** 4580e41f4b71Sopenharmony_ci 4581e41f4b71Sopenharmony_ci| 类型 | 说明 | 4582e41f4b71Sopenharmony_ci| -------- | -------- | 4583e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的String对象类型为true,反之为false。 | 4584e41f4b71Sopenharmony_ci 4585e41f4b71Sopenharmony_ci**示例:** 4586e41f4b71Sopenharmony_ci 4587e41f4b71Sopenharmony_ci ```ts 4588e41f4b71Sopenharmony_ci let type = new util.types(); 4589e41f4b71Sopenharmony_ci let result = type.isStringObject(new String('foo')); 4590e41f4b71Sopenharmony_ci console.info("result = " + result); 4591e41f4b71Sopenharmony_ci // 输出结果:result = true 4592e41f4b71Sopenharmony_ci ``` 4593e41f4b71Sopenharmony_ci 4594e41f4b71Sopenharmony_ci 4595e41f4b71Sopenharmony_ci### isSymbolObject<sup>8+</sup> 4596e41f4b71Sopenharmony_ci 4597e41f4b71Sopenharmony_ciisSymbolObject(value: Object): boolean 4598e41f4b71Sopenharmony_ci 4599e41f4b71Sopenharmony_ci检查输入的value是否是Symbol对象类型。 4600e41f4b71Sopenharmony_ci 4601e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4602e41f4b71Sopenharmony_ci 4603e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4604e41f4b71Sopenharmony_ci 4605e41f4b71Sopenharmony_ci**参数:** 4606e41f4b71Sopenharmony_ci 4607e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4608e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4609e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4610e41f4b71Sopenharmony_ci 4611e41f4b71Sopenharmony_ci**返回值:** 4612e41f4b71Sopenharmony_ci 4613e41f4b71Sopenharmony_ci| 类型 | 说明 | 4614e41f4b71Sopenharmony_ci| -------- | -------- | 4615e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Symbol对象类型为true,反之为false。 | 4616e41f4b71Sopenharmony_ci 4617e41f4b71Sopenharmony_ci**示例:** 4618e41f4b71Sopenharmony_ci 4619e41f4b71Sopenharmony_ci ```ts 4620e41f4b71Sopenharmony_ci // /entry/src/main/ets/pages/test.ts 4621e41f4b71Sopenharmony_ci export const symbols = Symbol('foo'); 4622e41f4b71Sopenharmony_ci ``` 4623e41f4b71Sopenharmony_ci 4624e41f4b71Sopenharmony_ci ```ts 4625e41f4b71Sopenharmony_ci import { symbols } from './test' 4626e41f4b71Sopenharmony_ci 4627e41f4b71Sopenharmony_ci let type = new util.types(); 4628e41f4b71Sopenharmony_ci let result = type.isSymbolObject(Object(symbols)); 4629e41f4b71Sopenharmony_ci console.info("result = " + result); 4630e41f4b71Sopenharmony_ci // 输出结果:result = true 4631e41f4b71Sopenharmony_ci ``` 4632e41f4b71Sopenharmony_ci 4633e41f4b71Sopenharmony_ci 4634e41f4b71Sopenharmony_ci### isTypedArray<sup>8+</sup> 4635e41f4b71Sopenharmony_ci 4636e41f4b71Sopenharmony_ciisTypedArray(value: Object): boolean 4637e41f4b71Sopenharmony_ci 4638e41f4b71Sopenharmony_ci检查输入的value是否是TypedArray类型的辅助类型。 4639e41f4b71Sopenharmony_ci 4640e41f4b71Sopenharmony_ciTypedArray类型的辅助类型,包括Int8Array、Int16Array、Int32Array、Uint8Array、Uint8ClampedArray、Uint16Array、Uint32Array、Float32Array、Float64Array、BigInt64Array、BigUint64Array。 4641e41f4b71Sopenharmony_ci 4642e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4643e41f4b71Sopenharmony_ci 4644e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4645e41f4b71Sopenharmony_ci 4646e41f4b71Sopenharmony_ci**参数:** 4647e41f4b71Sopenharmony_ci 4648e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4649e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4650e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4651e41f4b71Sopenharmony_ci 4652e41f4b71Sopenharmony_ci**返回值:** 4653e41f4b71Sopenharmony_ci 4654e41f4b71Sopenharmony_ci| 类型 | 说明 | 4655e41f4b71Sopenharmony_ci| -------- | -------- | 4656e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的TypedArray包含的类型为true,反之为false。 | 4657e41f4b71Sopenharmony_ci 4658e41f4b71Sopenharmony_ci**示例:** 4659e41f4b71Sopenharmony_ci 4660e41f4b71Sopenharmony_ci ```ts 4661e41f4b71Sopenharmony_ci let type = new util.types(); 4662e41f4b71Sopenharmony_ci let result = type.isTypedArray(new Float64Array([])); 4663e41f4b71Sopenharmony_ci console.info("result = " + result); 4664e41f4b71Sopenharmony_ci // 输出结果:result = true 4665e41f4b71Sopenharmony_ci ``` 4666e41f4b71Sopenharmony_ci 4667e41f4b71Sopenharmony_ci 4668e41f4b71Sopenharmony_ci### isUint8Array<sup>8+</sup> 4669e41f4b71Sopenharmony_ci 4670e41f4b71Sopenharmony_ciisUint8Array(value: Object): boolean 4671e41f4b71Sopenharmony_ci 4672e41f4b71Sopenharmony_ci检查输入的value是否是Uint8Array数组类型。 4673e41f4b71Sopenharmony_ci 4674e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4675e41f4b71Sopenharmony_ci 4676e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4677e41f4b71Sopenharmony_ci 4678e41f4b71Sopenharmony_ci**参数:** 4679e41f4b71Sopenharmony_ci 4680e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4681e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4682e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4683e41f4b71Sopenharmony_ci 4684e41f4b71Sopenharmony_ci**返回值:** 4685e41f4b71Sopenharmony_ci 4686e41f4b71Sopenharmony_ci| 类型 | 说明 | 4687e41f4b71Sopenharmony_ci| -------- | -------- | 4688e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Uint8Array数组类型为true,反之为false。 | 4689e41f4b71Sopenharmony_ci 4690e41f4b71Sopenharmony_ci**示例:** 4691e41f4b71Sopenharmony_ci 4692e41f4b71Sopenharmony_ci ```ts 4693e41f4b71Sopenharmony_ci let type = new util.types(); 4694e41f4b71Sopenharmony_ci let result = type.isUint8Array(new Uint8Array([])); 4695e41f4b71Sopenharmony_ci console.info("result = " + result); 4696e41f4b71Sopenharmony_ci // 输出结果:result = true 4697e41f4b71Sopenharmony_ci ``` 4698e41f4b71Sopenharmony_ci 4699e41f4b71Sopenharmony_ci 4700e41f4b71Sopenharmony_ci### isUint8ClampedArray<sup>8+</sup> 4701e41f4b71Sopenharmony_ci 4702e41f4b71Sopenharmony_ciisUint8ClampedArray(value: Object): boolean 4703e41f4b71Sopenharmony_ci 4704e41f4b71Sopenharmony_ci检查输入的value是否是Uint8ClampedArray数组类型。 4705e41f4b71Sopenharmony_ci 4706e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4707e41f4b71Sopenharmony_ci 4708e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4709e41f4b71Sopenharmony_ci 4710e41f4b71Sopenharmony_ci**参数:** 4711e41f4b71Sopenharmony_ci 4712e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4713e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4714e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4715e41f4b71Sopenharmony_ci 4716e41f4b71Sopenharmony_ci**返回值:** 4717e41f4b71Sopenharmony_ci 4718e41f4b71Sopenharmony_ci| 类型 | 说明 | 4719e41f4b71Sopenharmony_ci| -------- | -------- | 4720e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Uint8ClampedArray数组类型为true,反之为false。 | 4721e41f4b71Sopenharmony_ci 4722e41f4b71Sopenharmony_ci**示例:** 4723e41f4b71Sopenharmony_ci 4724e41f4b71Sopenharmony_ci ```ts 4725e41f4b71Sopenharmony_ci let type = new util.types(); 4726e41f4b71Sopenharmony_ci let result = type.isUint8ClampedArray(new Uint8ClampedArray([])); 4727e41f4b71Sopenharmony_ci console.info("result = " + result); 4728e41f4b71Sopenharmony_ci // 输出结果:result = true 4729e41f4b71Sopenharmony_ci ``` 4730e41f4b71Sopenharmony_ci 4731e41f4b71Sopenharmony_ci 4732e41f4b71Sopenharmony_ci### isUint16Array<sup>8+</sup> 4733e41f4b71Sopenharmony_ci 4734e41f4b71Sopenharmony_ciisUint16Array(value: Object): boolean 4735e41f4b71Sopenharmony_ci 4736e41f4b71Sopenharmony_ci检查输入的value是否是Uint16Array数组类型。 4737e41f4b71Sopenharmony_ci 4738e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4739e41f4b71Sopenharmony_ci 4740e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4741e41f4b71Sopenharmony_ci 4742e41f4b71Sopenharmony_ci**参数:** 4743e41f4b71Sopenharmony_ci 4744e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4745e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4746e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4747e41f4b71Sopenharmony_ci 4748e41f4b71Sopenharmony_ci**返回值:** 4749e41f4b71Sopenharmony_ci 4750e41f4b71Sopenharmony_ci| 类型 | 说明 | 4751e41f4b71Sopenharmony_ci| -------- | -------- | 4752e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Uint16Array数组类型为true,反之为false。 | 4753e41f4b71Sopenharmony_ci 4754e41f4b71Sopenharmony_ci**示例:** 4755e41f4b71Sopenharmony_ci 4756e41f4b71Sopenharmony_ci ```ts 4757e41f4b71Sopenharmony_ci let type = new util.types(); 4758e41f4b71Sopenharmony_ci let result = type.isUint16Array(new Uint16Array([])); 4759e41f4b71Sopenharmony_ci console.info("result = " + result); 4760e41f4b71Sopenharmony_ci // 输出结果:result = true 4761e41f4b71Sopenharmony_ci ``` 4762e41f4b71Sopenharmony_ci 4763e41f4b71Sopenharmony_ci 4764e41f4b71Sopenharmony_ci### isUint32Array<sup>8+</sup> 4765e41f4b71Sopenharmony_ci 4766e41f4b71Sopenharmony_ciisUint32Array(value: Object): boolean 4767e41f4b71Sopenharmony_ci 4768e41f4b71Sopenharmony_ci检查输入的value是否是Uint32Array数组类型。 4769e41f4b71Sopenharmony_ci 4770e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4771e41f4b71Sopenharmony_ci 4772e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4773e41f4b71Sopenharmony_ci 4774e41f4b71Sopenharmony_ci**参数:** 4775e41f4b71Sopenharmony_ci 4776e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4777e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4778e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4779e41f4b71Sopenharmony_ci 4780e41f4b71Sopenharmony_ci**返回值:** 4781e41f4b71Sopenharmony_ci 4782e41f4b71Sopenharmony_ci| 类型 | 说明 | 4783e41f4b71Sopenharmony_ci| -------- | -------- | 4784e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Uint32Array数组类型为true,反之为false。 | 4785e41f4b71Sopenharmony_ci 4786e41f4b71Sopenharmony_ci**示例:** 4787e41f4b71Sopenharmony_ci 4788e41f4b71Sopenharmony_ci ```ts 4789e41f4b71Sopenharmony_ci let type = new util.types(); 4790e41f4b71Sopenharmony_ci let result = type.isUint32Array(new Uint32Array([])); 4791e41f4b71Sopenharmony_ci console.info("result = " + result); 4792e41f4b71Sopenharmony_ci // 输出结果:result = true 4793e41f4b71Sopenharmony_ci ``` 4794e41f4b71Sopenharmony_ci 4795e41f4b71Sopenharmony_ci 4796e41f4b71Sopenharmony_ci### isWeakMap<sup>8+</sup> 4797e41f4b71Sopenharmony_ci 4798e41f4b71Sopenharmony_ciisWeakMap(value: Object): boolean 4799e41f4b71Sopenharmony_ci 4800e41f4b71Sopenharmony_ci检查输入的value是否是WeakMap类型。 4801e41f4b71Sopenharmony_ci 4802e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4803e41f4b71Sopenharmony_ci 4804e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4805e41f4b71Sopenharmony_ci 4806e41f4b71Sopenharmony_ci**参数:** 4807e41f4b71Sopenharmony_ci 4808e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4809e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4810e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4811e41f4b71Sopenharmony_ci 4812e41f4b71Sopenharmony_ci**返回值:** 4813e41f4b71Sopenharmony_ci 4814e41f4b71Sopenharmony_ci| 类型 | 说明 | 4815e41f4b71Sopenharmony_ci| -------- | -------- | 4816e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的WeakMap类型为true,反之为false。 | 4817e41f4b71Sopenharmony_ci 4818e41f4b71Sopenharmony_ci**示例:** 4819e41f4b71Sopenharmony_ci 4820e41f4b71Sopenharmony_ci ```ts 4821e41f4b71Sopenharmony_ci let type = new util.types(); 4822e41f4b71Sopenharmony_ci let value : WeakMap<object, number> = new WeakMap(); 4823e41f4b71Sopenharmony_ci let result = type.isWeakMap(value); 4824e41f4b71Sopenharmony_ci console.info("result = " + result); 4825e41f4b71Sopenharmony_ci // 输出结果:result = true 4826e41f4b71Sopenharmony_ci ``` 4827e41f4b71Sopenharmony_ci 4828e41f4b71Sopenharmony_ci 4829e41f4b71Sopenharmony_ci### isWeakSet<sup>8+</sup> 4830e41f4b71Sopenharmony_ci 4831e41f4b71Sopenharmony_ciisWeakSet(value: Object): boolean 4832e41f4b71Sopenharmony_ci 4833e41f4b71Sopenharmony_ci检查输入的value是否是WeakSet类型。 4834e41f4b71Sopenharmony_ci 4835e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4836e41f4b71Sopenharmony_ci 4837e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4838e41f4b71Sopenharmony_ci 4839e41f4b71Sopenharmony_ci**参数:** 4840e41f4b71Sopenharmony_ci 4841e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4842e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4843e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4844e41f4b71Sopenharmony_ci 4845e41f4b71Sopenharmony_ci**返回值:** 4846e41f4b71Sopenharmony_ci 4847e41f4b71Sopenharmony_ci| 类型 | 说明 | 4848e41f4b71Sopenharmony_ci| -------- | -------- | 4849e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的WeakSet类型为true,反之为false。 | 4850e41f4b71Sopenharmony_ci 4851e41f4b71Sopenharmony_ci**示例:** 4852e41f4b71Sopenharmony_ci 4853e41f4b71Sopenharmony_ci ```ts 4854e41f4b71Sopenharmony_ci let type = new util.types(); 4855e41f4b71Sopenharmony_ci let result = type.isWeakSet(new WeakSet()); 4856e41f4b71Sopenharmony_ci console.info("result = " + result); 4857e41f4b71Sopenharmony_ci // 输出结果:result = true 4858e41f4b71Sopenharmony_ci ``` 4859e41f4b71Sopenharmony_ci 4860e41f4b71Sopenharmony_ci 4861e41f4b71Sopenharmony_ci### isBigInt64Array<sup>8+</sup> 4862e41f4b71Sopenharmony_ci 4863e41f4b71Sopenharmony_ciisBigInt64Array(value: Object): boolean 4864e41f4b71Sopenharmony_ci 4865e41f4b71Sopenharmony_ci检查输入的value是否是BigInt64Array类型。 4866e41f4b71Sopenharmony_ci 4867e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4868e41f4b71Sopenharmony_ci 4869e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4870e41f4b71Sopenharmony_ci 4871e41f4b71Sopenharmony_ci**参数:** 4872e41f4b71Sopenharmony_ci 4873e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4874e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4875e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4876e41f4b71Sopenharmony_ci 4877e41f4b71Sopenharmony_ci**返回值:** 4878e41f4b71Sopenharmony_ci 4879e41f4b71Sopenharmony_ci| 类型 | 说明 | 4880e41f4b71Sopenharmony_ci| -------- | -------- | 4881e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的BigInt64Array类型为true,反之为false。 | 4882e41f4b71Sopenharmony_ci 4883e41f4b71Sopenharmony_ci**示例:** 4884e41f4b71Sopenharmony_ci 4885e41f4b71Sopenharmony_ci ```ts 4886e41f4b71Sopenharmony_ci let type = new util.types(); 4887e41f4b71Sopenharmony_ci let result = type.isBigInt64Array(new BigInt64Array([])); 4888e41f4b71Sopenharmony_ci console.info("result = " + result); 4889e41f4b71Sopenharmony_ci // 输出结果:result = true 4890e41f4b71Sopenharmony_ci ``` 4891e41f4b71Sopenharmony_ci 4892e41f4b71Sopenharmony_ci 4893e41f4b71Sopenharmony_ci### isBigUint64Array<sup>8+</sup> 4894e41f4b71Sopenharmony_ci 4895e41f4b71Sopenharmony_ciisBigUint64Array(value: Object): boolean 4896e41f4b71Sopenharmony_ci 4897e41f4b71Sopenharmony_ci检查输入的value是否是BigUint64Array类型。 4898e41f4b71Sopenharmony_ci 4899e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4900e41f4b71Sopenharmony_ci 4901e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4902e41f4b71Sopenharmony_ci 4903e41f4b71Sopenharmony_ci**参数:** 4904e41f4b71Sopenharmony_ci 4905e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4906e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4907e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4908e41f4b71Sopenharmony_ci 4909e41f4b71Sopenharmony_ci**返回值:** 4910e41f4b71Sopenharmony_ci 4911e41f4b71Sopenharmony_ci| 类型 | 说明 | 4912e41f4b71Sopenharmony_ci| -------- | -------- | 4913e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的BigUint64Array类型为true,反之为false。 | 4914e41f4b71Sopenharmony_ci 4915e41f4b71Sopenharmony_ci**示例:** 4916e41f4b71Sopenharmony_ci 4917e41f4b71Sopenharmony_ci ```ts 4918e41f4b71Sopenharmony_ci let type = new util.types(); 4919e41f4b71Sopenharmony_ci let result = type.isBigUint64Array(new BigUint64Array([])); 4920e41f4b71Sopenharmony_ci console.info("result = " + result); 4921e41f4b71Sopenharmony_ci // 输出结果:result = true 4922e41f4b71Sopenharmony_ci ``` 4923e41f4b71Sopenharmony_ci 4924e41f4b71Sopenharmony_ci 4925e41f4b71Sopenharmony_ci### isModuleNamespaceObject<sup>8+</sup> 4926e41f4b71Sopenharmony_ci 4927e41f4b71Sopenharmony_ciisModuleNamespaceObject(value: Object): boolean 4928e41f4b71Sopenharmony_ci 4929e41f4b71Sopenharmony_ci检查输入的value是否是Module Namespace Object类型。 4930e41f4b71Sopenharmony_ci 4931e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4932e41f4b71Sopenharmony_ci 4933e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4934e41f4b71Sopenharmony_ci 4935e41f4b71Sopenharmony_ci**参数:** 4936e41f4b71Sopenharmony_ci 4937e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4938e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4939e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4940e41f4b71Sopenharmony_ci 4941e41f4b71Sopenharmony_ci**返回值:** 4942e41f4b71Sopenharmony_ci 4943e41f4b71Sopenharmony_ci| 类型 | 说明 | 4944e41f4b71Sopenharmony_ci| -------- | -------- | 4945e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的Module Namespace Object类型为true,反之为false。 | 4946e41f4b71Sopenharmony_ci 4947e41f4b71Sopenharmony_ci**示例:** 4948e41f4b71Sopenharmony_ci 4949e41f4b71Sopenharmony_ci ```ts 4950e41f4b71Sopenharmony_ci // /entry/src/main/ets/pages/test.ts 4951e41f4b71Sopenharmony_ci export function func() { 4952e41f4b71Sopenharmony_ci console.info("hello world"); 4953e41f4b71Sopenharmony_ci } 4954e41f4b71Sopenharmony_ci ``` 4955e41f4b71Sopenharmony_ci 4956e41f4b71Sopenharmony_ci ```ts 4957e41f4b71Sopenharmony_ci import * as nameSpace from './test'; 4958e41f4b71Sopenharmony_ci 4959e41f4b71Sopenharmony_ci let type = new util.types(); 4960e41f4b71Sopenharmony_ci let result = type.isModuleNamespaceObject(nameSpace); 4961e41f4b71Sopenharmony_ci console.info("result = " + result); 4962e41f4b71Sopenharmony_ci // 输出结果:result = true 4963e41f4b71Sopenharmony_ci ``` 4964e41f4b71Sopenharmony_ci 4965e41f4b71Sopenharmony_ci 4966e41f4b71Sopenharmony_ci### isSharedArrayBuffer<sup>8+</sup> 4967e41f4b71Sopenharmony_ci 4968e41f4b71Sopenharmony_ciisSharedArrayBuffer(value: Object): boolean 4969e41f4b71Sopenharmony_ci 4970e41f4b71Sopenharmony_ci检查输入的value是否是SharedArrayBuffer类型。 4971e41f4b71Sopenharmony_ci 4972e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 4973e41f4b71Sopenharmony_ci 4974e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 4975e41f4b71Sopenharmony_ci 4976e41f4b71Sopenharmony_ci**参数:** 4977e41f4b71Sopenharmony_ci 4978e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4979e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 4980e41f4b71Sopenharmony_ci| value | Object | 是 | 待检测对象。 | 4981e41f4b71Sopenharmony_ci 4982e41f4b71Sopenharmony_ci**返回值:** 4983e41f4b71Sopenharmony_ci 4984e41f4b71Sopenharmony_ci| 类型 | 说明 | 4985e41f4b71Sopenharmony_ci| -------- | -------- | 4986e41f4b71Sopenharmony_ci| boolean | 判断的结果,如果是内置包含的SharedArrayBuffer类型为true,反之为false。 | 4987e41f4b71Sopenharmony_ci 4988e41f4b71Sopenharmony_ci**示例:** 4989e41f4b71Sopenharmony_ci 4990e41f4b71Sopenharmony_ci ```ts 4991e41f4b71Sopenharmony_ci let type = new util.types(); 4992e41f4b71Sopenharmony_ci let result = type.isSharedArrayBuffer(new SharedArrayBuffer(0)); 4993e41f4b71Sopenharmony_ci console.info("result = " + result); 4994e41f4b71Sopenharmony_ci // 输出结果:result = true 4995e41f4b71Sopenharmony_ci ``` 4996e41f4b71Sopenharmony_ci 4997e41f4b71Sopenharmony_ci## LruBuffer<sup>(deprecated)</sup> 4998e41f4b71Sopenharmony_ci 4999e41f4b71Sopenharmony_ci> **说明:** 5000e41f4b71Sopenharmony_ci> 5001e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache<sup>9+</sup>](#lrucache9)替代。 5002e41f4b71Sopenharmony_ci 5003e41f4b71Sopenharmony_ci### 属性 5004e41f4b71Sopenharmony_ci 5005e41f4b71Sopenharmony_ci**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。 5006e41f4b71Sopenharmony_ci 5007e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 5008e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 5009e41f4b71Sopenharmony_ci| length | number | 是 | 否 | 当前缓冲区中值的总数。 | 5010e41f4b71Sopenharmony_ci 5011e41f4b71Sopenharmony_ci**示例:** 5012e41f4b71Sopenharmony_ci 5013e41f4b71Sopenharmony_ci ```ts 5014e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number>= new util.LruBuffer(); 5015e41f4b71Sopenharmony_ci pro.put(2,10); 5016e41f4b71Sopenharmony_ci pro.put(1,8); 5017e41f4b71Sopenharmony_ci let result = pro.length; 5018e41f4b71Sopenharmony_ci ``` 5019e41f4b71Sopenharmony_ci 5020e41f4b71Sopenharmony_ci### constructor<sup>(deprecated)</sup> 5021e41f4b71Sopenharmony_ci 5022e41f4b71Sopenharmony_ciconstructor(capacity?: number) 5023e41f4b71Sopenharmony_ci 5024e41f4b71Sopenharmony_ci默认构造函数用于创建一个新的LruBuffer实例,默认容量为64。 5025e41f4b71Sopenharmony_ci 5026e41f4b71Sopenharmony_ci> **说明:** 5027e41f4b71Sopenharmony_ci> 5028e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.constructor<sup>9+</sup>](#constructor9-3)替代。 5029e41f4b71Sopenharmony_ci 5030e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5031e41f4b71Sopenharmony_ci 5032e41f4b71Sopenharmony_ci**参数:** 5033e41f4b71Sopenharmony_ci 5034e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5035e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5036e41f4b71Sopenharmony_ci| capacity | number | 否 | 指示要为缓冲区自定义的容量,默认值为64。 | 5037e41f4b71Sopenharmony_ci 5038e41f4b71Sopenharmony_ci**示例:** 5039e41f4b71Sopenharmony_ci 5040e41f4b71Sopenharmony_ci ```ts 5041e41f4b71Sopenharmony_ci let lrubuffer : util.LruBuffer<number,number> = new util.LruBuffer(); 5042e41f4b71Sopenharmony_ci ``` 5043e41f4b71Sopenharmony_ci 5044e41f4b71Sopenharmony_ci### updateCapacity<sup>(deprecated)</sup> 5045e41f4b71Sopenharmony_ci 5046e41f4b71Sopenharmony_ciupdateCapacity(newCapacity: number): void 5047e41f4b71Sopenharmony_ci 5048e41f4b71Sopenharmony_ci将缓冲区容量更新为指定容量,如果newCapacity小于或等于0,则抛出异常。 5049e41f4b71Sopenharmony_ci 5050e41f4b71Sopenharmony_ci> **说明:** 5051e41f4b71Sopenharmony_ci> 5052e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.updateCapacity<sup>9+</sup>](#updatecapacity9)替代。 5053e41f4b71Sopenharmony_ci 5054e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5055e41f4b71Sopenharmony_ci 5056e41f4b71Sopenharmony_ci**参数:** 5057e41f4b71Sopenharmony_ci 5058e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5059e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5060e41f4b71Sopenharmony_ci| newCapacity | number | 是 | 指示要为缓冲区自定义的容量。 | 5061e41f4b71Sopenharmony_ci 5062e41f4b71Sopenharmony_ci**示例:** 5063e41f4b71Sopenharmony_ci 5064e41f4b71Sopenharmony_ci ```ts 5065e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5066e41f4b71Sopenharmony_ci pro.updateCapacity(100); 5067e41f4b71Sopenharmony_ci ``` 5068e41f4b71Sopenharmony_ci 5069e41f4b71Sopenharmony_ci### toString<sup>(deprecated)</sup> 5070e41f4b71Sopenharmony_ci 5071e41f4b71Sopenharmony_citoString(): string 5072e41f4b71Sopenharmony_ci 5073e41f4b71Sopenharmony_ci返回对象的字符串表示形式。 5074e41f4b71Sopenharmony_ci 5075e41f4b71Sopenharmony_ci> **说明:** 5076e41f4b71Sopenharmony_ci> 5077e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.toString<sup>9+</sup>](#tostring9)替代。 5078e41f4b71Sopenharmony_ci 5079e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5080e41f4b71Sopenharmony_ci 5081e41f4b71Sopenharmony_ci**返回值:** 5082e41f4b71Sopenharmony_ci 5083e41f4b71Sopenharmony_ci| 类型 | 说明 | 5084e41f4b71Sopenharmony_ci| -------- | -------- | 5085e41f4b71Sopenharmony_ci| string | 返回对象的字符串表示形式。 | 5086e41f4b71Sopenharmony_ci 5087e41f4b71Sopenharmony_ci**示例:** 5088e41f4b71Sopenharmony_ci 5089e41f4b71Sopenharmony_ci ```ts 5090e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5091e41f4b71Sopenharmony_ci pro.put(2,10); 5092e41f4b71Sopenharmony_ci pro.get(2); 5093e41f4b71Sopenharmony_ci pro.remove(20); 5094e41f4b71Sopenharmony_ci let result = pro.toString(); 5095e41f4b71Sopenharmony_ci ``` 5096e41f4b71Sopenharmony_ci 5097e41f4b71Sopenharmony_ci### getCapacity<sup>(deprecated)</sup> 5098e41f4b71Sopenharmony_ci 5099e41f4b71Sopenharmony_cigetCapacity(): number 5100e41f4b71Sopenharmony_ci 5101e41f4b71Sopenharmony_ci获取当前缓冲区的容量。 5102e41f4b71Sopenharmony_ci 5103e41f4b71Sopenharmony_ci> **说明:** 5104e41f4b71Sopenharmony_ci> 5105e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.getCapacity<sup>9+</sup>](#getcapacity9)替代。 5106e41f4b71Sopenharmony_ci 5107e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5108e41f4b71Sopenharmony_ci 5109e41f4b71Sopenharmony_ci**返回值:** 5110e41f4b71Sopenharmony_ci 5111e41f4b71Sopenharmony_ci| 类型 | 说明 | 5112e41f4b71Sopenharmony_ci| -------- | -------- | 5113e41f4b71Sopenharmony_ci| number | 返回当前缓冲区的容量。 | 5114e41f4b71Sopenharmony_ci 5115e41f4b71Sopenharmony_ci**示例:** 5116e41f4b71Sopenharmony_ci 5117e41f4b71Sopenharmony_ci ```ts 5118e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5119e41f4b71Sopenharmony_ci let result = pro.getCapacity(); 5120e41f4b71Sopenharmony_ci ``` 5121e41f4b71Sopenharmony_ci 5122e41f4b71Sopenharmony_ci### clear<sup>(deprecated)</sup> 5123e41f4b71Sopenharmony_ci 5124e41f4b71Sopenharmony_ciclear(): void 5125e41f4b71Sopenharmony_ci 5126e41f4b71Sopenharmony_ci从当前缓冲区清除键值对。后续会调用afterRemoval()方法执行后续操作。 5127e41f4b71Sopenharmony_ci 5128e41f4b71Sopenharmony_ci> **说明:** 5129e41f4b71Sopenharmony_ci> 5130e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.clear<sup>9+</sup>](#clear9)替代。 5131e41f4b71Sopenharmony_ci 5132e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5133e41f4b71Sopenharmony_ci 5134e41f4b71Sopenharmony_ci**示例:** 5135e41f4b71Sopenharmony_ci 5136e41f4b71Sopenharmony_ci ```ts 5137e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5138e41f4b71Sopenharmony_ci pro.put(2,10); 5139e41f4b71Sopenharmony_ci let result = pro.length; 5140e41f4b71Sopenharmony_ci pro.clear(); 5141e41f4b71Sopenharmony_ci ``` 5142e41f4b71Sopenharmony_ci 5143e41f4b71Sopenharmony_ci### getCreateCount<sup>(deprecated)</sup> 5144e41f4b71Sopenharmony_ci 5145e41f4b71Sopenharmony_cigetCreateCount(): number 5146e41f4b71Sopenharmony_ci 5147e41f4b71Sopenharmony_ci获取createDefault()返回值的次数。 5148e41f4b71Sopenharmony_ci 5149e41f4b71Sopenharmony_ci> **说明:** 5150e41f4b71Sopenharmony_ci> 5151e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.getCreateCount<sup>9+</sup>](#getcreatecount9)替代。 5152e41f4b71Sopenharmony_ci 5153e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5154e41f4b71Sopenharmony_ci 5155e41f4b71Sopenharmony_ci**返回值:** 5156e41f4b71Sopenharmony_ci 5157e41f4b71Sopenharmony_ci| 类型 | 说明 | 5158e41f4b71Sopenharmony_ci| -------- | -------- | 5159e41f4b71Sopenharmony_ci| number | 返回createDefault()返回值的次数。 | 5160e41f4b71Sopenharmony_ci 5161e41f4b71Sopenharmony_ci**示例:** 5162e41f4b71Sopenharmony_ci 5163e41f4b71Sopenharmony_ci ```ts 5164e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5165e41f4b71Sopenharmony_ci pro.put(1,8); 5166e41f4b71Sopenharmony_ci let result = pro.getCreateCount(); 5167e41f4b71Sopenharmony_ci ``` 5168e41f4b71Sopenharmony_ci 5169e41f4b71Sopenharmony_ci### getMissCount<sup>(deprecated)</sup> 5170e41f4b71Sopenharmony_ci 5171e41f4b71Sopenharmony_cigetMissCount(): number 5172e41f4b71Sopenharmony_ci 5173e41f4b71Sopenharmony_ci获取查询值不匹配的次数。 5174e41f4b71Sopenharmony_ci 5175e41f4b71Sopenharmony_ci> **说明:** 5176e41f4b71Sopenharmony_ci> 5177e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.getMissCount<sup>9+</sup>](#getmisscount9)替代。 5178e41f4b71Sopenharmony_ci 5179e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5180e41f4b71Sopenharmony_ci 5181e41f4b71Sopenharmony_ci**返回值:** 5182e41f4b71Sopenharmony_ci 5183e41f4b71Sopenharmony_ci| 类型 | 说明 | 5184e41f4b71Sopenharmony_ci| -------- | -------- | 5185e41f4b71Sopenharmony_ci| number | 返回查询值不匹配的次数。 | 5186e41f4b71Sopenharmony_ci 5187e41f4b71Sopenharmony_ci**示例:** 5188e41f4b71Sopenharmony_ci 5189e41f4b71Sopenharmony_ci ```ts 5190e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5191e41f4b71Sopenharmony_ci pro.put(2,10); 5192e41f4b71Sopenharmony_ci pro.get(2); 5193e41f4b71Sopenharmony_ci let result = pro.getMissCount(); 5194e41f4b71Sopenharmony_ci ``` 5195e41f4b71Sopenharmony_ci 5196e41f4b71Sopenharmony_ci### getRemovalCount<sup>(deprecated)</sup> 5197e41f4b71Sopenharmony_ci 5198e41f4b71Sopenharmony_cigetRemovalCount(): number 5199e41f4b71Sopenharmony_ci 5200e41f4b71Sopenharmony_ci获取从缓冲区中逐出值的次数。 5201e41f4b71Sopenharmony_ci 5202e41f4b71Sopenharmony_ci> **说明:** 5203e41f4b71Sopenharmony_ci> 5204e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.getRemovalCount<sup>9+</sup>](#getremovalcount9)替代。 5205e41f4b71Sopenharmony_ci 5206e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5207e41f4b71Sopenharmony_ci 5208e41f4b71Sopenharmony_ci**返回值:** 5209e41f4b71Sopenharmony_ci 5210e41f4b71Sopenharmony_ci| 类型 | 说明 | 5211e41f4b71Sopenharmony_ci| -------- | -------- | 5212e41f4b71Sopenharmony_ci| number | 返回从缓冲区中驱逐的次数。 | 5213e41f4b71Sopenharmony_ci 5214e41f4b71Sopenharmony_ci**示例:** 5215e41f4b71Sopenharmony_ci 5216e41f4b71Sopenharmony_ci ```ts 5217e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5218e41f4b71Sopenharmony_ci pro.put(2,10); 5219e41f4b71Sopenharmony_ci pro.updateCapacity(2); 5220e41f4b71Sopenharmony_ci pro.put(50,22); 5221e41f4b71Sopenharmony_ci let result = pro.getRemovalCount(); 5222e41f4b71Sopenharmony_ci ``` 5223e41f4b71Sopenharmony_ci 5224e41f4b71Sopenharmony_ci### getMatchCount<sup>(deprecated)</sup> 5225e41f4b71Sopenharmony_ci 5226e41f4b71Sopenharmony_cigetMatchCount(): number 5227e41f4b71Sopenharmony_ci 5228e41f4b71Sopenharmony_ci获取查询值匹配成功的次数。 5229e41f4b71Sopenharmony_ci 5230e41f4b71Sopenharmony_ci> **说明:** 5231e41f4b71Sopenharmony_ci> 5232e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.getMatchCount<sup>9+</sup>](#getmatchcount9)替代。 5233e41f4b71Sopenharmony_ci 5234e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5235e41f4b71Sopenharmony_ci 5236e41f4b71Sopenharmony_ci**返回值:** 5237e41f4b71Sopenharmony_ci 5238e41f4b71Sopenharmony_ci| 类型 | 说明 | 5239e41f4b71Sopenharmony_ci| -------- | -------- | 5240e41f4b71Sopenharmony_ci| number | 返回查询值匹配成功的次数。 | 5241e41f4b71Sopenharmony_ci 5242e41f4b71Sopenharmony_ci**示例:** 5243e41f4b71Sopenharmony_ci 5244e41f4b71Sopenharmony_ci ```ts 5245e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5246e41f4b71Sopenharmony_ci pro.put(2,10); 5247e41f4b71Sopenharmony_ci pro.get(2); 5248e41f4b71Sopenharmony_ci let result = pro.getMatchCount(); 5249e41f4b71Sopenharmony_ci ``` 5250e41f4b71Sopenharmony_ci 5251e41f4b71Sopenharmony_ci### getPutCount<sup>(deprecated)</sup> 5252e41f4b71Sopenharmony_ci 5253e41f4b71Sopenharmony_cigetPutCount(): number 5254e41f4b71Sopenharmony_ci 5255e41f4b71Sopenharmony_ci获取将值添加到缓冲区的次数。 5256e41f4b71Sopenharmony_ci 5257e41f4b71Sopenharmony_ci> **说明:** 5258e41f4b71Sopenharmony_ci> 5259e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.getPutCount<sup>9+</sup>](#getputcount9)替代。 5260e41f4b71Sopenharmony_ci 5261e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5262e41f4b71Sopenharmony_ci 5263e41f4b71Sopenharmony_ci**返回值:** 5264e41f4b71Sopenharmony_ci 5265e41f4b71Sopenharmony_ci| 类型 | 说明 | 5266e41f4b71Sopenharmony_ci| -------- | -------- | 5267e41f4b71Sopenharmony_ci| number | 返回将值添加到缓冲区的次数。 | 5268e41f4b71Sopenharmony_ci 5269e41f4b71Sopenharmony_ci**示例:** 5270e41f4b71Sopenharmony_ci 5271e41f4b71Sopenharmony_ci ```ts 5272e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5273e41f4b71Sopenharmony_ci pro.put(2,10); 5274e41f4b71Sopenharmony_ci let result = pro.getPutCount(); 5275e41f4b71Sopenharmony_ci ``` 5276e41f4b71Sopenharmony_ci 5277e41f4b71Sopenharmony_ci### isEmpty<sup>(deprecated)</sup> 5278e41f4b71Sopenharmony_ci 5279e41f4b71Sopenharmony_ciisEmpty(): boolean 5280e41f4b71Sopenharmony_ci 5281e41f4b71Sopenharmony_ci检查当前缓冲区是否为空。 5282e41f4b71Sopenharmony_ci 5283e41f4b71Sopenharmony_ci> **说明:** 5284e41f4b71Sopenharmony_ci> 5285e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.isEmpty<sup>9+</sup>](#isempty9)替代。 5286e41f4b71Sopenharmony_ci 5287e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5288e41f4b71Sopenharmony_ci 5289e41f4b71Sopenharmony_ci**返回值:** 5290e41f4b71Sopenharmony_ci 5291e41f4b71Sopenharmony_ci| 类型 | 说明 | 5292e41f4b71Sopenharmony_ci| -------- | -------- | 5293e41f4b71Sopenharmony_ci| boolean | 如果当前缓冲区不包含任何值,则返回true。 | 5294e41f4b71Sopenharmony_ci 5295e41f4b71Sopenharmony_ci**示例:** 5296e41f4b71Sopenharmony_ci 5297e41f4b71Sopenharmony_ci ```ts 5298e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5299e41f4b71Sopenharmony_ci pro.put(2,10); 5300e41f4b71Sopenharmony_ci let result = pro.isEmpty(); 5301e41f4b71Sopenharmony_ci ``` 5302e41f4b71Sopenharmony_ci 5303e41f4b71Sopenharmony_ci### get<sup>(deprecated)</sup> 5304e41f4b71Sopenharmony_ci 5305e41f4b71Sopenharmony_ciget(key: K): V | undefined 5306e41f4b71Sopenharmony_ci 5307e41f4b71Sopenharmony_ci表示要查询的键。 5308e41f4b71Sopenharmony_ci 5309e41f4b71Sopenharmony_ci> **说明:** 5310e41f4b71Sopenharmony_ci> 5311e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.get<sup>9+</sup>](#get9)替代。 5312e41f4b71Sopenharmony_ci 5313e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5314e41f4b71Sopenharmony_ci 5315e41f4b71Sopenharmony_ci**参数:** 5316e41f4b71Sopenharmony_ci 5317e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5318e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5319e41f4b71Sopenharmony_ci| key | K | 是 | 要查询的键。 | 5320e41f4b71Sopenharmony_ci 5321e41f4b71Sopenharmony_ci**返回值:** 5322e41f4b71Sopenharmony_ci 5323e41f4b71Sopenharmony_ci| 类型 | 说明 | 5324e41f4b71Sopenharmony_ci| -------- | -------- | 5325e41f4b71Sopenharmony_ci| V \| undefined | 如果指定的键存在于缓冲区中,则返回与键关联的值;否则返回undefined。 | 5326e41f4b71Sopenharmony_ci 5327e41f4b71Sopenharmony_ci**示例:** 5328e41f4b71Sopenharmony_ci 5329e41f4b71Sopenharmony_ci ```ts 5330e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5331e41f4b71Sopenharmony_ci pro.put(2,10); 5332e41f4b71Sopenharmony_ci let result = pro.get(2); 5333e41f4b71Sopenharmony_ci ``` 5334e41f4b71Sopenharmony_ci 5335e41f4b71Sopenharmony_ci### put<sup>(deprecated)</sup> 5336e41f4b71Sopenharmony_ci 5337e41f4b71Sopenharmony_ciput(key: K,value: V): V 5338e41f4b71Sopenharmony_ci 5339e41f4b71Sopenharmony_ci将键值对添加到缓冲区。 5340e41f4b71Sopenharmony_ci 5341e41f4b71Sopenharmony_ci> **说明:** 5342e41f4b71Sopenharmony_ci> 5343e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.put<sup>9+</sup>](#put9)替代。 5344e41f4b71Sopenharmony_ci 5345e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5346e41f4b71Sopenharmony_ci 5347e41f4b71Sopenharmony_ci**参数:** 5348e41f4b71Sopenharmony_ci 5349e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5350e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5351e41f4b71Sopenharmony_ci| key | K | 是 | 要添加的密钥。 | 5352e41f4b71Sopenharmony_ci| value | V | 是 | 指示与要添加的键关联的值。 | 5353e41f4b71Sopenharmony_ci 5354e41f4b71Sopenharmony_ci**返回值:** 5355e41f4b71Sopenharmony_ci 5356e41f4b71Sopenharmony_ci| 类型 | 说明 | 5357e41f4b71Sopenharmony_ci| -------- | -------- | 5358e41f4b71Sopenharmony_ci| V | 返回与添加的键关联的值;如果要添加的键已经存在,则返回原始值,如果键或值为空,则抛出此异常。 | 5359e41f4b71Sopenharmony_ci 5360e41f4b71Sopenharmony_ci**示例:** 5361e41f4b71Sopenharmony_ci 5362e41f4b71Sopenharmony_ci ```ts 5363e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5364e41f4b71Sopenharmony_ci let result = pro.put(2,10); 5365e41f4b71Sopenharmony_ci ``` 5366e41f4b71Sopenharmony_ci 5367e41f4b71Sopenharmony_ci### values<sup>(deprecated)</sup> 5368e41f4b71Sopenharmony_ci 5369e41f4b71Sopenharmony_civalues(): V[] 5370e41f4b71Sopenharmony_ci 5371e41f4b71Sopenharmony_ci获取当前缓冲区中所有值从最近访问到最近最少访问的顺序列表。 5372e41f4b71Sopenharmony_ci 5373e41f4b71Sopenharmony_ci> **说明:** 5374e41f4b71Sopenharmony_ci> 5375e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.values<sup>9+</sup>](#values9)替代。 5376e41f4b71Sopenharmony_ci 5377e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5378e41f4b71Sopenharmony_ci 5379e41f4b71Sopenharmony_ci**返回值:** 5380e41f4b71Sopenharmony_ci 5381e41f4b71Sopenharmony_ci| 类型 | 说明 | 5382e41f4b71Sopenharmony_ci| -------- | -------- | 5383e41f4b71Sopenharmony_ci| V [] | 按从最近访问到最近最少访问的顺序返回当前缓冲区中所有值的列表。 | 5384e41f4b71Sopenharmony_ci 5385e41f4b71Sopenharmony_ci**示例:** 5386e41f4b71Sopenharmony_ci 5387e41f4b71Sopenharmony_ci ```ts 5388e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number|string,number|string> = new util.LruBuffer(); 5389e41f4b71Sopenharmony_ci pro.put(2,10); 5390e41f4b71Sopenharmony_ci pro.put(2,"anhu"); 5391e41f4b71Sopenharmony_ci pro.put("afaf","grfb"); 5392e41f4b71Sopenharmony_ci let result = pro.values(); 5393e41f4b71Sopenharmony_ci ``` 5394e41f4b71Sopenharmony_ci 5395e41f4b71Sopenharmony_ci### keys<sup>(deprecated)</sup> 5396e41f4b71Sopenharmony_ci 5397e41f4b71Sopenharmony_cikeys(): K[] 5398e41f4b71Sopenharmony_ci 5399e41f4b71Sopenharmony_ci获取当前缓冲区中所有键从最近访问到最近最少访问的升序列表。 5400e41f4b71Sopenharmony_ci 5401e41f4b71Sopenharmony_ci> **说明:** 5402e41f4b71Sopenharmony_ci> 5403e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.keys<sup>9+</sup>](#keys9)替代。 5404e41f4b71Sopenharmony_ci 5405e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5406e41f4b71Sopenharmony_ci 5407e41f4b71Sopenharmony_ci**返回值:** 5408e41f4b71Sopenharmony_ci 5409e41f4b71Sopenharmony_ci| 类型 | 说明 | 5410e41f4b71Sopenharmony_ci| -------- | -------- | 5411e41f4b71Sopenharmony_ci| K [] | 按升序返回当前缓冲区中所有键的列表,从最近访问到最近最少访问。 | 5412e41f4b71Sopenharmony_ci 5413e41f4b71Sopenharmony_ci**示例:** 5414e41f4b71Sopenharmony_ci 5415e41f4b71Sopenharmony_ci ```ts 5416e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5417e41f4b71Sopenharmony_ci pro.put(2,10); 5418e41f4b71Sopenharmony_ci let result = pro.keys(); 5419e41f4b71Sopenharmony_ci ``` 5420e41f4b71Sopenharmony_ci 5421e41f4b71Sopenharmony_ci### remove<sup>(deprecated)</sup> 5422e41f4b71Sopenharmony_ci 5423e41f4b71Sopenharmony_ciremove(key: K): V | undefined 5424e41f4b71Sopenharmony_ci 5425e41f4b71Sopenharmony_ci从当前缓冲区中删除指定的键及其关联的值。 5426e41f4b71Sopenharmony_ci 5427e41f4b71Sopenharmony_ci> **说明:** 5428e41f4b71Sopenharmony_ci> 5429e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.remove<sup>9+</sup>](#remove9)替代。 5430e41f4b71Sopenharmony_ci 5431e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5432e41f4b71Sopenharmony_ci 5433e41f4b71Sopenharmony_ci**参数:** 5434e41f4b71Sopenharmony_ci 5435e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5436e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5437e41f4b71Sopenharmony_ci| key | K | 是 | 要删除的密钥。 | 5438e41f4b71Sopenharmony_ci 5439e41f4b71Sopenharmony_ci**返回值:** 5440e41f4b71Sopenharmony_ci 5441e41f4b71Sopenharmony_ci| 类型 | 说明 | 5442e41f4b71Sopenharmony_ci| -------- | -------- | 5443e41f4b71Sopenharmony_ci| V \| undefined | 返回一个包含已删除键值对的Optional对象;如果key不存在,则返回一个空的Optional对象,如果key为null,则抛出异常。 | 5444e41f4b71Sopenharmony_ci 5445e41f4b71Sopenharmony_ci**示例:** 5446e41f4b71Sopenharmony_ci 5447e41f4b71Sopenharmony_ci ```ts 5448e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5449e41f4b71Sopenharmony_ci pro.put(2,10); 5450e41f4b71Sopenharmony_ci let result = pro.remove(20); 5451e41f4b71Sopenharmony_ci ``` 5452e41f4b71Sopenharmony_ci 5453e41f4b71Sopenharmony_ci### afterRemoval<sup>(deprecated)</sup> 5454e41f4b71Sopenharmony_ci 5455e41f4b71Sopenharmony_ciafterRemoval(isEvict: boolean,key: K,value: V,newValue: V): void 5456e41f4b71Sopenharmony_ci 5457e41f4b71Sopenharmony_ci删除值后执行后续操作。 5458e41f4b71Sopenharmony_ci 5459e41f4b71Sopenharmony_ci> **说明:** 5460e41f4b71Sopenharmony_ci> 5461e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.afterRemoval<sup>9+</sup>](#afterremoval9)替代。 5462e41f4b71Sopenharmony_ci 5463e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5464e41f4b71Sopenharmony_ci 5465e41f4b71Sopenharmony_ci**参数:** 5466e41f4b71Sopenharmony_ci 5467e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5468e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5469e41f4b71Sopenharmony_ci| isEvict | boolean | 是 | 因容量不足而调用该方法时,参数值为true,其他情况为false。 | 5470e41f4b71Sopenharmony_ci| key | K | 是 | 表示删除的键。 | 5471e41f4b71Sopenharmony_ci| value | V | 是 | 表示删除的值。 | 5472e41f4b71Sopenharmony_ci| newValue | V | 是 | 如果已调用put方法并且要添加的键已经存在,则参数值是关联的新值。其他情况下参数值为空。 | 5473e41f4b71Sopenharmony_ci 5474e41f4b71Sopenharmony_ci**示例:** 5475e41f4b71Sopenharmony_ci 5476e41f4b71Sopenharmony_ci```ts 5477e41f4b71Sopenharmony_ciclass ChildLruBuffer<K, V> extends util.LruBuffer<K, V> { 5478e41f4b71Sopenharmony_ci constructor(capacity?: number) { 5479e41f4b71Sopenharmony_ci super(capacity); 5480e41f4b71Sopenharmony_ci } 5481e41f4b71Sopenharmony_ci 5482e41f4b71Sopenharmony_ci afterRemoval(isEvict: boolean, key: K, value: V, newValue: V): void { 5483e41f4b71Sopenharmony_ci if (isEvict === true) { 5484e41f4b71Sopenharmony_ci console.info('key: ' + key); 5485e41f4b71Sopenharmony_ci console.info('value: ' + value); 5486e41f4b71Sopenharmony_ci console.info('newValue: ' + newValue); 5487e41f4b71Sopenharmony_ci } 5488e41f4b71Sopenharmony_ci } 5489e41f4b71Sopenharmony_ci} 5490e41f4b71Sopenharmony_cilet lru: ChildLruBuffer<number, number> = new ChildLruBuffer(2); 5491e41f4b71Sopenharmony_cilru.put(11, 1); 5492e41f4b71Sopenharmony_cilru.put(22, 2); 5493e41f4b71Sopenharmony_cilru.put(33, 3); 5494e41f4b71Sopenharmony_ci``` 5495e41f4b71Sopenharmony_ci 5496e41f4b71Sopenharmony_ci### contains<sup>(deprecated)</sup> 5497e41f4b71Sopenharmony_ci 5498e41f4b71Sopenharmony_cicontains(key: K): boolean 5499e41f4b71Sopenharmony_ci 5500e41f4b71Sopenharmony_ci检查当前缓冲区是否包含指定的键。 5501e41f4b71Sopenharmony_ci 5502e41f4b71Sopenharmony_ci 5503e41f4b71Sopenharmony_ci> **说明:** 5504e41f4b71Sopenharmony_ci> 5505e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.contains<sup>9+</sup>](#contains9)替代。 5506e41f4b71Sopenharmony_ci 5507e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5508e41f4b71Sopenharmony_ci 5509e41f4b71Sopenharmony_ci**参数:** 5510e41f4b71Sopenharmony_ci 5511e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5512e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5513e41f4b71Sopenharmony_ci| key | K | 是 | 表示要检查的键。 | 5514e41f4b71Sopenharmony_ci 5515e41f4b71Sopenharmony_ci**返回值:** 5516e41f4b71Sopenharmony_ci 5517e41f4b71Sopenharmony_ci| 类型 | 说明 | 5518e41f4b71Sopenharmony_ci| -------- | -------- | 5519e41f4b71Sopenharmony_ci| boolean | 如果缓冲区包含指定的键,则返回 true。 | 5520e41f4b71Sopenharmony_ci 5521e41f4b71Sopenharmony_ci**示例:** 5522e41f4b71Sopenharmony_ci 5523e41f4b71Sopenharmony_ci ```ts 5524e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5525e41f4b71Sopenharmony_ci pro.put(2,10); 5526e41f4b71Sopenharmony_ci let result = pro.contains(20); 5527e41f4b71Sopenharmony_ci ``` 5528e41f4b71Sopenharmony_ci 5529e41f4b71Sopenharmony_ci### createDefault<sup>(deprecated)</sup> 5530e41f4b71Sopenharmony_ci 5531e41f4b71Sopenharmony_cicreateDefault(key: K): V 5532e41f4b71Sopenharmony_ci 5533e41f4b71Sopenharmony_ci如果未计算特定键的值,则执行后续操作,参数表示丢失的键,返回与键关联的值。 5534e41f4b71Sopenharmony_ci 5535e41f4b71Sopenharmony_ci> **说明:** 5536e41f4b71Sopenharmony_ci> 5537e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.createDefault<sup>9+</sup>](#createdefault9)替代。 5538e41f4b71Sopenharmony_ci 5539e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5540e41f4b71Sopenharmony_ci 5541e41f4b71Sopenharmony_ci**参数:** 5542e41f4b71Sopenharmony_ci 5543e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5544e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5545e41f4b71Sopenharmony_ci| key | K | 是 | 表示丢失的键。 | 5546e41f4b71Sopenharmony_ci 5547e41f4b71Sopenharmony_ci**返回值:** 5548e41f4b71Sopenharmony_ci 5549e41f4b71Sopenharmony_ci| 类型 | 说明 | 5550e41f4b71Sopenharmony_ci| -------- | -------- | 5551e41f4b71Sopenharmony_ci| V | 返回与键关联的值。 | 5552e41f4b71Sopenharmony_ci 5553e41f4b71Sopenharmony_ci**示例:** 5554e41f4b71Sopenharmony_ci 5555e41f4b71Sopenharmony_ci ```ts 5556e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5557e41f4b71Sopenharmony_ci let result = pro.createDefault(50); 5558e41f4b71Sopenharmony_ci ``` 5559e41f4b71Sopenharmony_ci 5560e41f4b71Sopenharmony_ci### entries<sup>(deprecated)</sup> 5561e41f4b71Sopenharmony_ci 5562e41f4b71Sopenharmony_cientries(): IterableIterator<[K,V]> 5563e41f4b71Sopenharmony_ci 5564e41f4b71Sopenharmony_ci允许迭代包含在这个对象中的所有键值对。 5565e41f4b71Sopenharmony_ci 5566e41f4b71Sopenharmony_ci> **说明:** 5567e41f4b71Sopenharmony_ci> 5568e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.entries<sup>9+</sup>](#entries9)替代。 5569e41f4b71Sopenharmony_ci 5570e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5571e41f4b71Sopenharmony_ci 5572e41f4b71Sopenharmony_ci**返回值:** 5573e41f4b71Sopenharmony_ci 5574e41f4b71Sopenharmony_ci| 类型 | 说明 | 5575e41f4b71Sopenharmony_ci| -------- | -------- | 5576e41f4b71Sopenharmony_ci| [K, V] | 返回一个可迭代数组。 | 5577e41f4b71Sopenharmony_ci 5578e41f4b71Sopenharmony_ci**示例:** 5579e41f4b71Sopenharmony_ci 5580e41f4b71Sopenharmony_ci ```ts 5581e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5582e41f4b71Sopenharmony_ci pro.put(2,10); 5583e41f4b71Sopenharmony_ci let result = pro.entries(); 5584e41f4b71Sopenharmony_ci ``` 5585e41f4b71Sopenharmony_ci 5586e41f4b71Sopenharmony_ci### [Symbol.iterator]<sup>(deprecated)</sup> 5587e41f4b71Sopenharmony_ci 5588e41f4b71Sopenharmony_ci[Symbol.iterator]\(): IterableIterator<[K, V]> 5589e41f4b71Sopenharmony_ci 5590e41f4b71Sopenharmony_ci返回一个键值对形式的二维数组。 5591e41f4b71Sopenharmony_ci 5592e41f4b71Sopenharmony_ci> **说明:** 5593e41f4b71Sopenharmony_ci> 5594e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.Symbol.iterator<sup>9+</sup>](#symboliterator9)替代。 5595e41f4b71Sopenharmony_ci 5596e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5597e41f4b71Sopenharmony_ci 5598e41f4b71Sopenharmony_ci**返回值:** 5599e41f4b71Sopenharmony_ci 5600e41f4b71Sopenharmony_ci| 类型 | 说明 | 5601e41f4b71Sopenharmony_ci| -------- | -------- | 5602e41f4b71Sopenharmony_ci| [K, V] | 返回一个键值对形式的二维数组。 | 5603e41f4b71Sopenharmony_ci 5604e41f4b71Sopenharmony_ci**示例:** 5605e41f4b71Sopenharmony_ci 5606e41f4b71Sopenharmony_ci ```ts 5607e41f4b71Sopenharmony_ci let pro : util.LruBuffer<number,number> = new util.LruBuffer(); 5608e41f4b71Sopenharmony_ci pro.put(2,10); 5609e41f4b71Sopenharmony_ci let result = pro[Symbol.iterator](); 5610e41f4b71Sopenharmony_ci ``` 5611e41f4b71Sopenharmony_ci 5612e41f4b71Sopenharmony_ci## Scope<sup>(deprecated)</sup> 5613e41f4b71Sopenharmony_ci 5614e41f4b71Sopenharmony_ci> **说明:** 5615e41f4b71Sopenharmony_ci> 5616e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper<sup>9+</sup>](#scopehelper9)替代。 5617e41f4b71Sopenharmony_ci 5618e41f4b71Sopenharmony_ci### constructor<sup>(deprecated)</sup> 5619e41f4b71Sopenharmony_ci 5620e41f4b71Sopenharmony_ciconstructor(lowerObj: ScopeType, upperObj: ScopeType) 5621e41f4b71Sopenharmony_ci 5622e41f4b71Sopenharmony_ci用于创建指定下限和上限的作用域实例的构造函数,返回一个Scope对象。 5623e41f4b71Sopenharmony_ci 5624e41f4b71Sopenharmony_ci> **说明:** 5625e41f4b71Sopenharmony_ci> 5626e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.constructor<sup>9+</sup>](#constructor9-4)替代。 5627e41f4b71Sopenharmony_ci 5628e41f4b71Sopenharmony_ci 5629e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5630e41f4b71Sopenharmony_ci 5631e41f4b71Sopenharmony_ci**参数:** 5632e41f4b71Sopenharmony_ci 5633e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5634e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5635e41f4b71Sopenharmony_ci| lowerObj | [ScopeType](#scopetype8) | 是 | 指定作用域实例的下限。 | 5636e41f4b71Sopenharmony_ci| upperObj | [ScopeType](#scopetype8) | 是 | 指定作用域实例的上限。 | 5637e41f4b71Sopenharmony_ci 5638e41f4b71Sopenharmony_ci**示例:** 5639e41f4b71Sopenharmony_ci ```ts 5640e41f4b71Sopenharmony_ci class Temperature{ 5641e41f4b71Sopenharmony_ci private readonly _temp: number; 5642e41f4b71Sopenharmony_ci constructor(value : number) { 5643e41f4b71Sopenharmony_ci this._temp = value; 5644e41f4b71Sopenharmony_ci } 5645e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5646e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5647e41f4b71Sopenharmony_ci } 5648e41f4b71Sopenharmony_ci getTemp() { 5649e41f4b71Sopenharmony_ci return this._temp; 5650e41f4b71Sopenharmony_ci } 5651e41f4b71Sopenharmony_ci toString() : string { 5652e41f4b71Sopenharmony_ci return this._temp.toString(); 5653e41f4b71Sopenharmony_ci } 5654e41f4b71Sopenharmony_ci } 5655e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5656e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5657e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5658e41f4b71Sopenharmony_ci ``` 5659e41f4b71Sopenharmony_ci 5660e41f4b71Sopenharmony_ci### toString<sup>(deprecated)</sup> 5661e41f4b71Sopenharmony_ci 5662e41f4b71Sopenharmony_citoString(): string 5663e41f4b71Sopenharmony_ci 5664e41f4b71Sopenharmony_ci该字符串化方法返回一个包含当前范围的字符串表示形式。 5665e41f4b71Sopenharmony_ci 5666e41f4b71Sopenharmony_ci> **说明:** 5667e41f4b71Sopenharmony_ci> 5668e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.toString<sup>9+</sup>](#tostring9-1)替代。 5669e41f4b71Sopenharmony_ci 5670e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5671e41f4b71Sopenharmony_ci 5672e41f4b71Sopenharmony_ci**返回值:** 5673e41f4b71Sopenharmony_ci 5674e41f4b71Sopenharmony_ci| 类型 | 说明 | 5675e41f4b71Sopenharmony_ci| -------- | -------- | 5676e41f4b71Sopenharmony_ci| string | 返回包含当前范围对象的字符串表示形式。 | 5677e41f4b71Sopenharmony_ci 5678e41f4b71Sopenharmony_ci**示例:** 5679e41f4b71Sopenharmony_ci 5680e41f4b71Sopenharmony_ci ```ts 5681e41f4b71Sopenharmony_ci class Temperature{ 5682e41f4b71Sopenharmony_ci private readonly _temp: number; 5683e41f4b71Sopenharmony_ci constructor(value : number) { 5684e41f4b71Sopenharmony_ci this._temp = value; 5685e41f4b71Sopenharmony_ci } 5686e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5687e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5688e41f4b71Sopenharmony_ci } 5689e41f4b71Sopenharmony_ci getTemp() { 5690e41f4b71Sopenharmony_ci return this._temp; 5691e41f4b71Sopenharmony_ci } 5692e41f4b71Sopenharmony_ci toString() : string { 5693e41f4b71Sopenharmony_ci return this._temp.toString(); 5694e41f4b71Sopenharmony_ci } 5695e41f4b71Sopenharmony_ci } 5696e41f4b71Sopenharmony_ci 5697e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5698e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5699e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5700e41f4b71Sopenharmony_ci let result = range.toString(); 5701e41f4b71Sopenharmony_ci ``` 5702e41f4b71Sopenharmony_ci 5703e41f4b71Sopenharmony_ci### intersect<sup>(deprecated)</sup> 5704e41f4b71Sopenharmony_ci 5705e41f4b71Sopenharmony_ciintersect(range: Scope): Scope 5706e41f4b71Sopenharmony_ci 5707e41f4b71Sopenharmony_ci获取给定范围和当前范围的交集。 5708e41f4b71Sopenharmony_ci 5709e41f4b71Sopenharmony_ci> **说明:** 5710e41f4b71Sopenharmony_ci> 5711e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.intersect<sup>9+</sup>](#intersect9)替代。 5712e41f4b71Sopenharmony_ci 5713e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5714e41f4b71Sopenharmony_ci 5715e41f4b71Sopenharmony_ci**参数:** 5716e41f4b71Sopenharmony_ci 5717e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5718e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5719e41f4b71Sopenharmony_ci| range | [Scope](#scopedeprecated) | 是 | 传入一个给定范围。 | 5720e41f4b71Sopenharmony_ci 5721e41f4b71Sopenharmony_ci**返回值:** 5722e41f4b71Sopenharmony_ci 5723e41f4b71Sopenharmony_ci| 类型 | 说明 | 5724e41f4b71Sopenharmony_ci| -------- | -------- | 5725e41f4b71Sopenharmony_ci| [Scope](#scopedeprecated) | 返回给定范围和当前范围的交集。 | 5726e41f4b71Sopenharmony_ci 5727e41f4b71Sopenharmony_ci**示例:** 5728e41f4b71Sopenharmony_ci 5729e41f4b71Sopenharmony_ci ```ts 5730e41f4b71Sopenharmony_ci class Temperature{ 5731e41f4b71Sopenharmony_ci private readonly _temp: number; 5732e41f4b71Sopenharmony_ci constructor(value : number) { 5733e41f4b71Sopenharmony_ci this._temp = value; 5734e41f4b71Sopenharmony_ci } 5735e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5736e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5737e41f4b71Sopenharmony_ci } 5738e41f4b71Sopenharmony_ci getTemp() { 5739e41f4b71Sopenharmony_ci return this._temp; 5740e41f4b71Sopenharmony_ci } 5741e41f4b71Sopenharmony_ci toString() : string { 5742e41f4b71Sopenharmony_ci return this._temp.toString(); 5743e41f4b71Sopenharmony_ci } 5744e41f4b71Sopenharmony_ci } 5745e41f4b71Sopenharmony_ci 5746e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5747e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5748e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5749e41f4b71Sopenharmony_ci let tempMiDF = new Temperature(35); 5750e41f4b71Sopenharmony_ci let tempMidS = new Temperature(39); 5751e41f4b71Sopenharmony_ci let rangeFir = new util.Scope(tempMiDF, tempMidS); 5752e41f4b71Sopenharmony_ci let result = range.intersect(rangeFir ); 5753e41f4b71Sopenharmony_ci ``` 5754e41f4b71Sopenharmony_ci 5755e41f4b71Sopenharmony_ci### intersect<sup>(deprecated)</sup> 5756e41f4b71Sopenharmony_ci 5757e41f4b71Sopenharmony_ciintersect(lowerObj:ScopeType,upperObj:ScopeType):Scope 5758e41f4b71Sopenharmony_ci 5759e41f4b71Sopenharmony_ci获取当前范围与给定下限和上限范围的交集。 5760e41f4b71Sopenharmony_ci 5761e41f4b71Sopenharmony_ci> **说明:** 5762e41f4b71Sopenharmony_ci> 5763e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.intersect<sup>9+</sup>](#intersect9-1)替代。 5764e41f4b71Sopenharmony_ci 5765e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5766e41f4b71Sopenharmony_ci 5767e41f4b71Sopenharmony_ci**参数:** 5768e41f4b71Sopenharmony_ci 5769e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5770e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5771e41f4b71Sopenharmony_ci| lowerObj | [ScopeType](#scopetype8) | 是 | 给定范围的下限。 | 5772e41f4b71Sopenharmony_ci| upperObj | [ScopeType](#scopetype8) | 是 | 给定范围的上限。 | 5773e41f4b71Sopenharmony_ci 5774e41f4b71Sopenharmony_ci**返回值:** 5775e41f4b71Sopenharmony_ci 5776e41f4b71Sopenharmony_ci| 类型 | 说明 | 5777e41f4b71Sopenharmony_ci| -------- | -------- | 5778e41f4b71Sopenharmony_ci| [Scope](#scopedeprecated) | 返回当前范围与给定下限和上限范围的交集。 | 5779e41f4b71Sopenharmony_ci 5780e41f4b71Sopenharmony_ci**示例:** 5781e41f4b71Sopenharmony_ci 5782e41f4b71Sopenharmony_ci ```ts 5783e41f4b71Sopenharmony_ci class Temperature{ 5784e41f4b71Sopenharmony_ci private readonly _temp: number; 5785e41f4b71Sopenharmony_ci constructor(value : number) { 5786e41f4b71Sopenharmony_ci this._temp = value; 5787e41f4b71Sopenharmony_ci } 5788e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5789e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5790e41f4b71Sopenharmony_ci } 5791e41f4b71Sopenharmony_ci getTemp() { 5792e41f4b71Sopenharmony_ci return this._temp; 5793e41f4b71Sopenharmony_ci } 5794e41f4b71Sopenharmony_ci toString() : string { 5795e41f4b71Sopenharmony_ci return this._temp.toString(); 5796e41f4b71Sopenharmony_ci } 5797e41f4b71Sopenharmony_ci } 5798e41f4b71Sopenharmony_ci 5799e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5800e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5801e41f4b71Sopenharmony_ci let tempMiDF = new Temperature(35); 5802e41f4b71Sopenharmony_ci let tempMidS = new Temperature(39); 5803e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5804e41f4b71Sopenharmony_ci let result = range.intersect(tempMiDF, tempMidS); 5805e41f4b71Sopenharmony_ci ``` 5806e41f4b71Sopenharmony_ci 5807e41f4b71Sopenharmony_ci### getUpper<sup>(deprecated)</sup> 5808e41f4b71Sopenharmony_ci 5809e41f4b71Sopenharmony_cigetUpper(): ScopeType 5810e41f4b71Sopenharmony_ci 5811e41f4b71Sopenharmony_ci获取当前范围的上限。 5812e41f4b71Sopenharmony_ci 5813e41f4b71Sopenharmony_ci> **说明:** 5814e41f4b71Sopenharmony_ci> 5815e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.getUpper<sup>9+</sup>](#getupper9)替代。 5816e41f4b71Sopenharmony_ci 5817e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5818e41f4b71Sopenharmony_ci 5819e41f4b71Sopenharmony_ci**返回值:** 5820e41f4b71Sopenharmony_ci 5821e41f4b71Sopenharmony_ci| 类型 | 说明 | 5822e41f4b71Sopenharmony_ci| -------- | -------- | 5823e41f4b71Sopenharmony_ci| [ScopeType](#scopetype8) | 返回当前范围的上限值。 | 5824e41f4b71Sopenharmony_ci 5825e41f4b71Sopenharmony_ci**示例:** 5826e41f4b71Sopenharmony_ci 5827e41f4b71Sopenharmony_ci ```ts 5828e41f4b71Sopenharmony_ci class Temperature{ 5829e41f4b71Sopenharmony_ci private readonly _temp: number; 5830e41f4b71Sopenharmony_ci constructor(value : number) { 5831e41f4b71Sopenharmony_ci this._temp = value; 5832e41f4b71Sopenharmony_ci } 5833e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5834e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5835e41f4b71Sopenharmony_ci } 5836e41f4b71Sopenharmony_ci getTemp() { 5837e41f4b71Sopenharmony_ci return this._temp; 5838e41f4b71Sopenharmony_ci } 5839e41f4b71Sopenharmony_ci toString() : string { 5840e41f4b71Sopenharmony_ci return this._temp.toString(); 5841e41f4b71Sopenharmony_ci } 5842e41f4b71Sopenharmony_ci } 5843e41f4b71Sopenharmony_ci 5844e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5845e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5846e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5847e41f4b71Sopenharmony_ci let result = range.getUpper(); 5848e41f4b71Sopenharmony_ci ``` 5849e41f4b71Sopenharmony_ci 5850e41f4b71Sopenharmony_ci### getLower<sup>(deprecated)</sup> 5851e41f4b71Sopenharmony_ci 5852e41f4b71Sopenharmony_cigetLower(): ScopeType 5853e41f4b71Sopenharmony_ci 5854e41f4b71Sopenharmony_ci获取当前范围的下限。 5855e41f4b71Sopenharmony_ci 5856e41f4b71Sopenharmony_ci> **说明:** 5857e41f4b71Sopenharmony_ci> 5858e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.getLower<sup>9+</sup>](#getlower9)替代。 5859e41f4b71Sopenharmony_ci 5860e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5861e41f4b71Sopenharmony_ci 5862e41f4b71Sopenharmony_ci**返回值:** 5863e41f4b71Sopenharmony_ci 5864e41f4b71Sopenharmony_ci| 类型 | 说明 | 5865e41f4b71Sopenharmony_ci| -------- | -------- | 5866e41f4b71Sopenharmony_ci| [ScopeType](#scopetype8) | 返回当前范围的下限值。 | 5867e41f4b71Sopenharmony_ci 5868e41f4b71Sopenharmony_ci**示例:** 5869e41f4b71Sopenharmony_ci 5870e41f4b71Sopenharmony_ci ```ts 5871e41f4b71Sopenharmony_ci class Temperature{ 5872e41f4b71Sopenharmony_ci private readonly _temp: number; 5873e41f4b71Sopenharmony_ci constructor(value : number) { 5874e41f4b71Sopenharmony_ci this._temp = value; 5875e41f4b71Sopenharmony_ci } 5876e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5877e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5878e41f4b71Sopenharmony_ci } 5879e41f4b71Sopenharmony_ci getTemp() { 5880e41f4b71Sopenharmony_ci return this._temp; 5881e41f4b71Sopenharmony_ci } 5882e41f4b71Sopenharmony_ci toString() : string { 5883e41f4b71Sopenharmony_ci return this._temp.toString(); 5884e41f4b71Sopenharmony_ci } 5885e41f4b71Sopenharmony_ci } 5886e41f4b71Sopenharmony_ci 5887e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5888e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5889e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5890e41f4b71Sopenharmony_ci let result = range.getLower(); 5891e41f4b71Sopenharmony_ci ``` 5892e41f4b71Sopenharmony_ci 5893e41f4b71Sopenharmony_ci### expand<sup>(deprecated)</sup> 5894e41f4b71Sopenharmony_ci 5895e41f4b71Sopenharmony_ciexpand(lowerObj: ScopeType,upperObj: ScopeType): Scope 5896e41f4b71Sopenharmony_ci 5897e41f4b71Sopenharmony_ci创建并返回包括当前范围和给定下限和上限的并集。 5898e41f4b71Sopenharmony_ci 5899e41f4b71Sopenharmony_ci> **说明:** 5900e41f4b71Sopenharmony_ci> 5901e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.expand<sup>9+</sup>](#expand9)替代。 5902e41f4b71Sopenharmony_ci 5903e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5904e41f4b71Sopenharmony_ci 5905e41f4b71Sopenharmony_ci**参数:** 5906e41f4b71Sopenharmony_ci 5907e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5908e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5909e41f4b71Sopenharmony_ci| lowerObj | [ScopeType](#scopetype8) | 是 | 给定范围的下限。 | 5910e41f4b71Sopenharmony_ci| upperObj | [ScopeType](#scopetype8) | 是 | 给定范围的上限。 | 5911e41f4b71Sopenharmony_ci 5912e41f4b71Sopenharmony_ci**返回值:** 5913e41f4b71Sopenharmony_ci 5914e41f4b71Sopenharmony_ci| 类型 | 说明 | 5915e41f4b71Sopenharmony_ci| -------- | -------- | 5916e41f4b71Sopenharmony_ci| [Scope](#scopedeprecated) | 返回当前范围和给定下限和上限的并集。 | 5917e41f4b71Sopenharmony_ci 5918e41f4b71Sopenharmony_ci**示例:** 5919e41f4b71Sopenharmony_ci 5920e41f4b71Sopenharmony_ci ```ts 5921e41f4b71Sopenharmony_ci class Temperature{ 5922e41f4b71Sopenharmony_ci private readonly _temp: number; 5923e41f4b71Sopenharmony_ci constructor(value : number) { 5924e41f4b71Sopenharmony_ci this._temp = value; 5925e41f4b71Sopenharmony_ci } 5926e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5927e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5928e41f4b71Sopenharmony_ci } 5929e41f4b71Sopenharmony_ci getTemp() { 5930e41f4b71Sopenharmony_ci return this._temp; 5931e41f4b71Sopenharmony_ci } 5932e41f4b71Sopenharmony_ci toString() : string { 5933e41f4b71Sopenharmony_ci return this._temp.toString(); 5934e41f4b71Sopenharmony_ci } 5935e41f4b71Sopenharmony_ci } 5936e41f4b71Sopenharmony_ci 5937e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5938e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5939e41f4b71Sopenharmony_ci let tempMiDF = new Temperature(35); 5940e41f4b71Sopenharmony_ci let tempMidS = new Temperature(39); 5941e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5942e41f4b71Sopenharmony_ci let result = range.expand(tempMiDF, tempMidS); 5943e41f4b71Sopenharmony_ci ``` 5944e41f4b71Sopenharmony_ci 5945e41f4b71Sopenharmony_ci### expand<sup>(deprecated)</sup> 5946e41f4b71Sopenharmony_ci 5947e41f4b71Sopenharmony_ciexpand(range: Scope): Scope 5948e41f4b71Sopenharmony_ci 5949e41f4b71Sopenharmony_ci创建并返回包括当前范围和给定范围的并集。 5950e41f4b71Sopenharmony_ci 5951e41f4b71Sopenharmony_ci> **说明:** 5952e41f4b71Sopenharmony_ci> 5953e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.expand<sup>9+</sup>](#expand9-1)替代。 5954e41f4b71Sopenharmony_ci 5955e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 5956e41f4b71Sopenharmony_ci 5957e41f4b71Sopenharmony_ci**参数:** 5958e41f4b71Sopenharmony_ci 5959e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5960e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 5961e41f4b71Sopenharmony_ci| range | [Scope](#scopedeprecated) | 是 | 传入一个给定范围。 | 5962e41f4b71Sopenharmony_ci 5963e41f4b71Sopenharmony_ci**返回值:** 5964e41f4b71Sopenharmony_ci 5965e41f4b71Sopenharmony_ci| 类型 | 说明 | 5966e41f4b71Sopenharmony_ci| -------- | -------- | 5967e41f4b71Sopenharmony_ci| [Scope](#scopedeprecated) | 返回包括当前范围和给定范围的并集。 | 5968e41f4b71Sopenharmony_ci 5969e41f4b71Sopenharmony_ci**示例:** 5970e41f4b71Sopenharmony_ci 5971e41f4b71Sopenharmony_ci ```ts 5972e41f4b71Sopenharmony_ci class Temperature{ 5973e41f4b71Sopenharmony_ci private readonly _temp: number; 5974e41f4b71Sopenharmony_ci constructor(value : number) { 5975e41f4b71Sopenharmony_ci this._temp = value; 5976e41f4b71Sopenharmony_ci } 5977e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 5978e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 5979e41f4b71Sopenharmony_ci } 5980e41f4b71Sopenharmony_ci getTemp() { 5981e41f4b71Sopenharmony_ci return this._temp; 5982e41f4b71Sopenharmony_ci } 5983e41f4b71Sopenharmony_ci toString() : string { 5984e41f4b71Sopenharmony_ci return this._temp.toString(); 5985e41f4b71Sopenharmony_ci } 5986e41f4b71Sopenharmony_ci } 5987e41f4b71Sopenharmony_ci 5988e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 5989e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 5990e41f4b71Sopenharmony_ci let tempMiDF = new Temperature(35); 5991e41f4b71Sopenharmony_ci let tempMidS = new Temperature(39); 5992e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 5993e41f4b71Sopenharmony_ci let rangeFir = new util.Scope(tempMiDF, tempMidS); 5994e41f4b71Sopenharmony_ci let result = range.expand(rangeFir); 5995e41f4b71Sopenharmony_ci ``` 5996e41f4b71Sopenharmony_ci 5997e41f4b71Sopenharmony_ci### expand<sup>(deprecated)</sup> 5998e41f4b71Sopenharmony_ci 5999e41f4b71Sopenharmony_ciexpand(value: ScopeType): Scope 6000e41f4b71Sopenharmony_ci 6001e41f4b71Sopenharmony_ci创建并返回包括当前范围和给定值的并集。 6002e41f4b71Sopenharmony_ci 6003e41f4b71Sopenharmony_ci> **说明:** 6004e41f4b71Sopenharmony_ci> 6005e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.expand<sup>9+</sup>](#expand9-2)替代。 6006e41f4b71Sopenharmony_ci 6007e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 6008e41f4b71Sopenharmony_ci 6009e41f4b71Sopenharmony_ci**参数:** 6010e41f4b71Sopenharmony_ci 6011e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 6012e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6013e41f4b71Sopenharmony_ci| value | [ScopeType](#scopetype8) | 是 | 传入一个给定值。 | 6014e41f4b71Sopenharmony_ci 6015e41f4b71Sopenharmony_ci**返回值:** 6016e41f4b71Sopenharmony_ci 6017e41f4b71Sopenharmony_ci| 类型 | 说明 | 6018e41f4b71Sopenharmony_ci| -------- | -------- | 6019e41f4b71Sopenharmony_ci| [Scope](#scopedeprecated) | 返回包括当前范围和给定值的并集。 | 6020e41f4b71Sopenharmony_ci 6021e41f4b71Sopenharmony_ci**示例:** 6022e41f4b71Sopenharmony_ci 6023e41f4b71Sopenharmony_ci ```ts 6024e41f4b71Sopenharmony_ci class Temperature{ 6025e41f4b71Sopenharmony_ci private readonly _temp: number; 6026e41f4b71Sopenharmony_ci constructor(value : number) { 6027e41f4b71Sopenharmony_ci this._temp = value; 6028e41f4b71Sopenharmony_ci } 6029e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 6030e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 6031e41f4b71Sopenharmony_ci } 6032e41f4b71Sopenharmony_ci getTemp() { 6033e41f4b71Sopenharmony_ci return this._temp; 6034e41f4b71Sopenharmony_ci } 6035e41f4b71Sopenharmony_ci toString() : string { 6036e41f4b71Sopenharmony_ci return this._temp.toString(); 6037e41f4b71Sopenharmony_ci } 6038e41f4b71Sopenharmony_ci } 6039e41f4b71Sopenharmony_ci 6040e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 6041e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 6042e41f4b71Sopenharmony_ci let tempMiDF = new Temperature(35); 6043e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 6044e41f4b71Sopenharmony_ci let result = range.expand(tempMiDF); 6045e41f4b71Sopenharmony_ci ``` 6046e41f4b71Sopenharmony_ci 6047e41f4b71Sopenharmony_ci### contains<sup>(deprecated)</sup> 6048e41f4b71Sopenharmony_ci 6049e41f4b71Sopenharmony_cicontains(value: ScopeType): boolean 6050e41f4b71Sopenharmony_ci 6051e41f4b71Sopenharmony_ci检查给定value是否包含在当前范围内。 6052e41f4b71Sopenharmony_ci 6053e41f4b71Sopenharmony_ci> **说明:** 6054e41f4b71Sopenharmony_ci> 6055e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.contains<sup>9+</sup>](#contains9-1)替代。 6056e41f4b71Sopenharmony_ci 6057e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 6058e41f4b71Sopenharmony_ci 6059e41f4b71Sopenharmony_ci**参数:** 6060e41f4b71Sopenharmony_ci 6061e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 6062e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6063e41f4b71Sopenharmony_ci| value | [ScopeType](#scopetype8) | 是 | 传入一个给定值。 | 6064e41f4b71Sopenharmony_ci 6065e41f4b71Sopenharmony_ci**返回值:** 6066e41f4b71Sopenharmony_ci 6067e41f4b71Sopenharmony_ci| 类型 | 说明 | 6068e41f4b71Sopenharmony_ci| -------- | -------- | 6069e41f4b71Sopenharmony_ci| boolean | 如果给定值包含在当前范围内返回true,否则返回false。 | 6070e41f4b71Sopenharmony_ci 6071e41f4b71Sopenharmony_ci**示例:** 6072e41f4b71Sopenharmony_ci 6073e41f4b71Sopenharmony_ci ```ts 6074e41f4b71Sopenharmony_ci class Temperature{ 6075e41f4b71Sopenharmony_ci private readonly _temp: number; 6076e41f4b71Sopenharmony_ci constructor(value : number) { 6077e41f4b71Sopenharmony_ci this._temp = value; 6078e41f4b71Sopenharmony_ci } 6079e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 6080e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 6081e41f4b71Sopenharmony_ci } 6082e41f4b71Sopenharmony_ci getTemp() { 6083e41f4b71Sopenharmony_ci return this._temp; 6084e41f4b71Sopenharmony_ci } 6085e41f4b71Sopenharmony_ci toString() : string { 6086e41f4b71Sopenharmony_ci return this._temp.toString(); 6087e41f4b71Sopenharmony_ci } 6088e41f4b71Sopenharmony_ci } 6089e41f4b71Sopenharmony_ci 6090e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 6091e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 6092e41f4b71Sopenharmony_ci let tempMiDF = new Temperature(35); 6093e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 6094e41f4b71Sopenharmony_ci let result = range.contains(tempMiDF); 6095e41f4b71Sopenharmony_ci ``` 6096e41f4b71Sopenharmony_ci 6097e41f4b71Sopenharmony_ci### contains<sup>(deprecated)</sup> 6098e41f4b71Sopenharmony_ci 6099e41f4b71Sopenharmony_cicontains(range: Scope): boolean 6100e41f4b71Sopenharmony_ci 6101e41f4b71Sopenharmony_ci检查给定range是否在当前范围内。 6102e41f4b71Sopenharmony_ci 6103e41f4b71Sopenharmony_ci> **说明:** 6104e41f4b71Sopenharmony_ci> 6105e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.contains<sup>9+</sup>](#contains9-2)替代。 6106e41f4b71Sopenharmony_ci 6107e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 6108e41f4b71Sopenharmony_ci 6109e41f4b71Sopenharmony_ci**参数:** 6110e41f4b71Sopenharmony_ci 6111e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 6112e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6113e41f4b71Sopenharmony_ci| range | [Scope](#scopedeprecated) | 是 | 传入一个给定范围。 | 6114e41f4b71Sopenharmony_ci 6115e41f4b71Sopenharmony_ci**返回值:** 6116e41f4b71Sopenharmony_ci 6117e41f4b71Sopenharmony_ci| 类型 | 说明 | 6118e41f4b71Sopenharmony_ci| -------- | -------- | 6119e41f4b71Sopenharmony_ci| boolean | 如果给定范围包含在当前范围内返回true,否则返回false。 | 6120e41f4b71Sopenharmony_ci 6121e41f4b71Sopenharmony_ci**示例:** 6122e41f4b71Sopenharmony_ci 6123e41f4b71Sopenharmony_ci ```ts 6124e41f4b71Sopenharmony_ci class Temperature{ 6125e41f4b71Sopenharmony_ci private readonly _temp: number; 6126e41f4b71Sopenharmony_ci constructor(value : number) { 6127e41f4b71Sopenharmony_ci this._temp = value; 6128e41f4b71Sopenharmony_ci } 6129e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 6130e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 6131e41f4b71Sopenharmony_ci } 6132e41f4b71Sopenharmony_ci getTemp() { 6133e41f4b71Sopenharmony_ci return this._temp; 6134e41f4b71Sopenharmony_ci } 6135e41f4b71Sopenharmony_ci toString() : string { 6136e41f4b71Sopenharmony_ci return this._temp.toString(); 6137e41f4b71Sopenharmony_ci } 6138e41f4b71Sopenharmony_ci } 6139e41f4b71Sopenharmony_ci 6140e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 6141e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 6142e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 6143e41f4b71Sopenharmony_ci let tempLess = new Temperature(20); 6144e41f4b71Sopenharmony_ci let tempMore = new Temperature(45); 6145e41f4b71Sopenharmony_ci let rangeSec = new util.Scope(tempLess, tempMore); 6146e41f4b71Sopenharmony_ci let result = range.contains(rangeSec); 6147e41f4b71Sopenharmony_ci ``` 6148e41f4b71Sopenharmony_ci 6149e41f4b71Sopenharmony_ci### clamp<sup>(deprecated)</sup> 6150e41f4b71Sopenharmony_ci 6151e41f4b71Sopenharmony_ci 6152e41f4b71Sopenharmony_ciclamp(value: ScopeType): ScopeType 6153e41f4b71Sopenharmony_ci 6154e41f4b71Sopenharmony_ci将给定值限定到当前范围内。 6155e41f4b71Sopenharmony_ci 6156e41f4b71Sopenharmony_ci> **说明:** 6157e41f4b71Sopenharmony_ci> 6158e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.clamp<sup>9+</sup>](#clamp9)替代。 6159e41f4b71Sopenharmony_ci 6160e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 6161e41f4b71Sopenharmony_ci 6162e41f4b71Sopenharmony_ci**参数:** 6163e41f4b71Sopenharmony_ci 6164e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 6165e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6166e41f4b71Sopenharmony_ci| value | [ScopeType](#scopetype8) | 是 | 传入的给定值。 | 6167e41f4b71Sopenharmony_ci 6168e41f4b71Sopenharmony_ci**返回值:** 6169e41f4b71Sopenharmony_ci 6170e41f4b71Sopenharmony_ci| 类型 | 说明 | 6171e41f4b71Sopenharmony_ci| -------- | -------- | 6172e41f4b71Sopenharmony_ci| [ScopeType](#scopetype8) | 如果传入的value小于下限,则返回lowerObj;如果大于上限值则返回upperObj;如果在当前范围内,则返回value。 | 6173e41f4b71Sopenharmony_ci 6174e41f4b71Sopenharmony_ci**示例:** 6175e41f4b71Sopenharmony_ci 6176e41f4b71Sopenharmony_ci ```ts 6177e41f4b71Sopenharmony_ci class Temperature{ 6178e41f4b71Sopenharmony_ci private readonly _temp: number; 6179e41f4b71Sopenharmony_ci constructor(value : number) { 6180e41f4b71Sopenharmony_ci this._temp = value; 6181e41f4b71Sopenharmony_ci } 6182e41f4b71Sopenharmony_ci compareTo(value : Temperature ) { 6183e41f4b71Sopenharmony_ci return this._temp >= value.getTemp(); 6184e41f4b71Sopenharmony_ci } 6185e41f4b71Sopenharmony_ci getTemp() { 6186e41f4b71Sopenharmony_ci return this._temp; 6187e41f4b71Sopenharmony_ci } 6188e41f4b71Sopenharmony_ci toString() : string { 6189e41f4b71Sopenharmony_ci return this._temp.toString(); 6190e41f4b71Sopenharmony_ci } 6191e41f4b71Sopenharmony_ci } 6192e41f4b71Sopenharmony_ci 6193e41f4b71Sopenharmony_ci let tempLower = new Temperature(30); 6194e41f4b71Sopenharmony_ci let tempUpper = new Temperature(40); 6195e41f4b71Sopenharmony_ci let tempMiDF = new Temperature(35); 6196e41f4b71Sopenharmony_ci let range = new util.Scope(tempLower, tempUpper); 6197e41f4b71Sopenharmony_ci let result = range.clamp(tempMiDF); 6198e41f4b71Sopenharmony_ci ``` 6199e41f4b71Sopenharmony_ci 6200e41f4b71Sopenharmony_ci 6201e41f4b71Sopenharmony_ci## Base64<sup>(deprecated)</sup> 6202e41f4b71Sopenharmony_ci 6203e41f4b71Sopenharmony_ci> **说明:** 6204e41f4b71Sopenharmony_ci> 6205e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[Base64Helper<sup>9+</sup>](#base64helper9)替代。 6206e41f4b71Sopenharmony_ci 6207e41f4b71Sopenharmony_ci### constructor<sup>(deprecated)</sup> 6208e41f4b71Sopenharmony_ci 6209e41f4b71Sopenharmony_ciconstructor() 6210e41f4b71Sopenharmony_ci 6211e41f4b71Sopenharmony_ciBase64的构造函数。 6212e41f4b71Sopenharmony_ci 6213e41f4b71Sopenharmony_ci> **说明:** 6214e41f4b71Sopenharmony_ci> 6215e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[Base64Helper.constructor<sup>9+</sup>](#constructor9-5)替代。 6216e41f4b71Sopenharmony_ci 6217e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 6218e41f4b71Sopenharmony_ci 6219e41f4b71Sopenharmony_ci**示例:** 6220e41f4b71Sopenharmony_ci 6221e41f4b71Sopenharmony_ci ```ts 6222e41f4b71Sopenharmony_ci let base64 = new util.Base64(); 6223e41f4b71Sopenharmony_ci ``` 6224e41f4b71Sopenharmony_ci 6225e41f4b71Sopenharmony_ci### encodeSync<sup>(deprecated)</sup> 6226e41f4b71Sopenharmony_ci 6227e41f4b71Sopenharmony_ciencodeSync(src: Uint8Array): Uint8Array 6228e41f4b71Sopenharmony_ci 6229e41f4b71Sopenharmony_ci通过输入参数编码后输出对应文本。 6230e41f4b71Sopenharmony_ci 6231e41f4b71Sopenharmony_ci> **说明:** 6232e41f4b71Sopenharmony_ci> 6233e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[Base64Helper.encodeSync<sup>9+</sup>](#encodesync9)替代。 6234e41f4b71Sopenharmony_ci 6235e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 6236e41f4b71Sopenharmony_ci 6237e41f4b71Sopenharmony_ci**参数:** 6238e41f4b71Sopenharmony_ci 6239e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 6240e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6241e41f4b71Sopenharmony_ci| src | Uint8Array | 是 | 编码输入Uint8数组。 | 6242e41f4b71Sopenharmony_ci 6243e41f4b71Sopenharmony_ci**返回值:** 6244e41f4b71Sopenharmony_ci 6245e41f4b71Sopenharmony_ci| 类型 | 说明 | 6246e41f4b71Sopenharmony_ci| -------- | -------- | 6247e41f4b71Sopenharmony_ci| Uint8Array | 返回编码后新分配的Uint8数组。 | 6248e41f4b71Sopenharmony_ci 6249e41f4b71Sopenharmony_ci**示例:** 6250e41f4b71Sopenharmony_ci 6251e41f4b71Sopenharmony_ci ```ts 6252e41f4b71Sopenharmony_ci let base64 = new util.Base64(); 6253e41f4b71Sopenharmony_ci let array = new Uint8Array([115,49,51]); 6254e41f4b71Sopenharmony_ci let result = base64.encodeSync(array); 6255e41f4b71Sopenharmony_ci ``` 6256e41f4b71Sopenharmony_ci 6257e41f4b71Sopenharmony_ci### encodeToStringSync<sup>(deprecated)</sup> 6258e41f4b71Sopenharmony_ci 6259e41f4b71Sopenharmony_ciencodeToStringSync(src: Uint8Array): string 6260e41f4b71Sopenharmony_ci 6261e41f4b71Sopenharmony_ci通过输入参数编码后输出对应文本。 6262e41f4b71Sopenharmony_ci 6263e41f4b71Sopenharmony_ci> **说明:** 6264e41f4b71Sopenharmony_ci> 6265e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[Base64Helper.encodeToStringSync<sup>9+</sup>](#encodetostringsync9)替代。 6266e41f4b71Sopenharmony_ci 6267e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 6268e41f4b71Sopenharmony_ci 6269e41f4b71Sopenharmony_ci**参数:** 6270e41f4b71Sopenharmony_ci 6271e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 6272e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6273e41f4b71Sopenharmony_ci| src | Uint8Array | 是 | 编码输入Uint8数组。 | 6274e41f4b71Sopenharmony_ci 6275e41f4b71Sopenharmony_ci**返回值:** 6276e41f4b71Sopenharmony_ci 6277e41f4b71Sopenharmony_ci| 类型 | 说明 | 6278e41f4b71Sopenharmony_ci| -------- | -------- | 6279e41f4b71Sopenharmony_ci| string | 返回编码后的字符串。 | 6280e41f4b71Sopenharmony_ci 6281e41f4b71Sopenharmony_ci**示例:** 6282e41f4b71Sopenharmony_ci 6283e41f4b71Sopenharmony_ci ```ts 6284e41f4b71Sopenharmony_ci let base64 = new util.Base64(); 6285e41f4b71Sopenharmony_ci let array = new Uint8Array([115,49,51]); 6286e41f4b71Sopenharmony_ci let result = base64.encodeToStringSync(array); 6287e41f4b71Sopenharmony_ci ``` 6288e41f4b71Sopenharmony_ci 6289e41f4b71Sopenharmony_ci### decodeSync<sup>(deprecated)</sup> 6290e41f4b71Sopenharmony_ci 6291e41f4b71Sopenharmony_cidecodeSync(src: Uint8Array | string): Uint8Array 6292e41f4b71Sopenharmony_ci 6293e41f4b71Sopenharmony_ci通过输入参数解码后输出对应文本。 6294e41f4b71Sopenharmony_ci 6295e41f4b71Sopenharmony_ci> **说明:** 6296e41f4b71Sopenharmony_ci> 6297e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[Base64Helper.decodeSync<sup>9+</sup>](#decodesync9)替代。 6298e41f4b71Sopenharmony_ci 6299e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 6300e41f4b71Sopenharmony_ci 6301e41f4b71Sopenharmony_ci**参数:** 6302e41f4b71Sopenharmony_ci 6303e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 6304e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6305e41f4b71Sopenharmony_ci| src | Uint8Array \| string | 是 | 解码输入Uint8数组或者字符串。 | 6306e41f4b71Sopenharmony_ci 6307e41f4b71Sopenharmony_ci**返回值:** 6308e41f4b71Sopenharmony_ci 6309e41f4b71Sopenharmony_ci| 类型 | 说明 | 6310e41f4b71Sopenharmony_ci| -------- | -------- | 6311e41f4b71Sopenharmony_ci| Uint8Array | 返回解码后新分配的Uint8数组。 | 6312e41f4b71Sopenharmony_ci 6313e41f4b71Sopenharmony_ci**示例:** 6314e41f4b71Sopenharmony_ci 6315e41f4b71Sopenharmony_ci ```ts 6316e41f4b71Sopenharmony_ci let base64 = new util.Base64(); 6317e41f4b71Sopenharmony_ci let buff = 'czEz'; 6318e41f4b71Sopenharmony_ci let result = base64.decodeSync(buff); 6319e41f4b71Sopenharmony_ci ``` 6320e41f4b71Sopenharmony_ci 6321e41f4b71Sopenharmony_ci### encode<sup>(deprecated)</sup> 6322e41f4b71Sopenharmony_ci 6323e41f4b71Sopenharmony_ciencode(src: Uint8Array): Promise<Uint8Array> 6324e41f4b71Sopenharmony_ci 6325e41f4b71Sopenharmony_ci通过输入参数异步编码后输出对应文本。 6326e41f4b71Sopenharmony_ci 6327e41f4b71Sopenharmony_ci> **说明:** 6328e41f4b71Sopenharmony_ci> 6329e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[Base64Helper.encode<sup>9+</sup>](#encode9)替代。 6330e41f4b71Sopenharmony_ci 6331e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 6332e41f4b71Sopenharmony_ci 6333e41f4b71Sopenharmony_ci**参数:** 6334e41f4b71Sopenharmony_ci 6335e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 6336e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6337e41f4b71Sopenharmony_ci| src | Uint8Array | 是 | 异步编码输入Uint8数组。 | 6338e41f4b71Sopenharmony_ci 6339e41f4b71Sopenharmony_ci**返回值:** 6340e41f4b71Sopenharmony_ci 6341e41f4b71Sopenharmony_ci| 类型 | 说明 | 6342e41f4b71Sopenharmony_ci| -------- | -------- | 6343e41f4b71Sopenharmony_ci| Promise<Uint8Array> | 返回异步编码后新分配的Uint8数组。 | 6344e41f4b71Sopenharmony_ci 6345e41f4b71Sopenharmony_ci**示例:** 6346e41f4b71Sopenharmony_ci 6347e41f4b71Sopenharmony_ci ```ts 6348e41f4b71Sopenharmony_ci let base64 = new util.Base64(); 6349e41f4b71Sopenharmony_ci let array = new Uint8Array([115,49,51]); 6350e41f4b71Sopenharmony_ci base64.encode(array).then((val) => { 6351e41f4b71Sopenharmony_ci console.info(val.toString()); 6352e41f4b71Sopenharmony_ci }) 6353e41f4b71Sopenharmony_ci ``` 6354e41f4b71Sopenharmony_ci 6355e41f4b71Sopenharmony_ci### encodeToString<sup>(deprecated)</sup> 6356e41f4b71Sopenharmony_ci 6357e41f4b71Sopenharmony_ciencodeToString(src: Uint8Array): Promise<string> 6358e41f4b71Sopenharmony_ci 6359e41f4b71Sopenharmony_ci通过输入参数异步编码后输出对应文本。 6360e41f4b71Sopenharmony_ci 6361e41f4b71Sopenharmony_ci> **说明:** 6362e41f4b71Sopenharmony_ci> 6363e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[Base64Helper.encodeToString<sup>9+</sup>](#encodetostring9)替代。 6364e41f4b71Sopenharmony_ci 6365e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 6366e41f4b71Sopenharmony_ci 6367e41f4b71Sopenharmony_ci**参数:** 6368e41f4b71Sopenharmony_ci 6369e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 6370e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6371e41f4b71Sopenharmony_ci| src | Uint8Array | 是 | 异步编码输入Uint8数组。 | 6372e41f4b71Sopenharmony_ci 6373e41f4b71Sopenharmony_ci**返回值:** 6374e41f4b71Sopenharmony_ci 6375e41f4b71Sopenharmony_ci| 类型 | 说明 | 6376e41f4b71Sopenharmony_ci| -------- | -------- | 6377e41f4b71Sopenharmony_ci| Promise<string> | 返回异步编码后的字符串。 | 6378e41f4b71Sopenharmony_ci 6379e41f4b71Sopenharmony_ci**示例:** 6380e41f4b71Sopenharmony_ci 6381e41f4b71Sopenharmony_ci ```ts 6382e41f4b71Sopenharmony_ci let base64 = new util.Base64(); 6383e41f4b71Sopenharmony_ci let array = new Uint8Array([115,49,51]); 6384e41f4b71Sopenharmony_ci base64.encodeToString(array).then((val) => { 6385e41f4b71Sopenharmony_ci console.info(val); 6386e41f4b71Sopenharmony_ci }) 6387e41f4b71Sopenharmony_ci ``` 6388e41f4b71Sopenharmony_ci 6389e41f4b71Sopenharmony_ci### decode<sup>(deprecated)</sup> 6390e41f4b71Sopenharmony_ci 6391e41f4b71Sopenharmony_ci 6392e41f4b71Sopenharmony_cidecode(src: Uint8Array | string): Promise<Uint8Array> 6393e41f4b71Sopenharmony_ci 6394e41f4b71Sopenharmony_ci通过输入参数异步解码后输出对应文本。 6395e41f4b71Sopenharmony_ci 6396e41f4b71Sopenharmony_ci> **说明:** 6397e41f4b71Sopenharmony_ci> 6398e41f4b71Sopenharmony_ci> 从API version 8开始支持,从API version 9开始废弃,建议使用[Base64Helper.decode<sup>9+</sup>](#decode9)替代。 6399e41f4b71Sopenharmony_ci 6400e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Utils.Lang 6401e41f4b71Sopenharmony_ci 6402e41f4b71Sopenharmony_ci**参数:** 6403e41f4b71Sopenharmony_ci 6404e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 6405e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 6406e41f4b71Sopenharmony_ci| src | Uint8Array \| string | 是 | 异步解码输入Uint8数组或者字符串。 | 6407e41f4b71Sopenharmony_ci 6408e41f4b71Sopenharmony_ci**返回值:** 6409e41f4b71Sopenharmony_ci 6410e41f4b71Sopenharmony_ci| 类型 | 说明 | 6411e41f4b71Sopenharmony_ci| -------- | -------- | 6412e41f4b71Sopenharmony_ci| Promise<Uint8Array> | 返回异步解码后新分配的Uint8数组。 | 6413e41f4b71Sopenharmony_ci 6414e41f4b71Sopenharmony_ci**示例:** 6415e41f4b71Sopenharmony_ci 6416e41f4b71Sopenharmony_ci ```ts 6417e41f4b71Sopenharmony_ci let base64 = new util.Base64(); 6418e41f4b71Sopenharmony_ci let array = new Uint8Array([99,122,69,122]); 6419e41f4b71Sopenharmony_ci base64.decode(array).then((val) => { 6420e41f4b71Sopenharmony_ci console.info(val.toString()); 6421e41f4b71Sopenharmony_ci }) 6422e41f4b71Sopenharmony_ci ``` 6423