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 )=&gt;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是拒绝原因(如果&nbsp;Promise&nbsp;已解决,则为&nbsp;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) =&gt; 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是拒绝原因(如果&nbsp;Promise&nbsp;已解决,则为&nbsp;null),第二个参数value是已解决的值。  |
240e41f4b71Sopenharmony_ci
241e41f4b71Sopenharmony_ci**返回值:**
242e41f4b71Sopenharmony_ci
243e41f4b71Sopenharmony_ci| 类型 | 说明 |
244e41f4b71Sopenharmony_ci| -------- | -------- |
245e41f4b71Sopenharmony_ci| Function | 返回一个&nbsp;Promise&nbsp;的函数。 |
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) =&gt; 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 | 采用遵循常见的错误优先的回调风格的函数(也就是将&nbsp;(err,&nbsp;value)&nbsp;=&gt;&nbsp;...&nbsp;回调作为最后一个参数),并返回一个返回&nbsp;promise&nbsp;的版本。 |
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.Lang813e41f4b71Sopenharmony_ci
814e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 |
815e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- |
816e41f4b71Sopenharmony_ci| encoding | string | 是 | 否 | 编码格式。<br/>-&nbsp;支持格式: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&nbsp;order&nbsp;marker)标记,默认值为false&nbsp;,表示解码结果包含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.Lang1080e41f4b71Sopenharmony_ci
1081e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 |
1082e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- |
1083e41f4b71Sopenharmony_ci| encoding | string | 是 | 否 |  编码格式。<br/>-&nbsp;支持格式: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/>-&nbsp; 默认值是:'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.Lang1852e41f4b71Sopenharmony_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&nbsp;[] | 按从最近访问到最近最少访问的顺序返回当前缓冲区中所有值的列表。 |
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&nbsp;[] | 按升序返回当前缓冲区中所有键的列表,从最近访问到最近最少访问。 |
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&nbsp;\|&nbsp;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 | 如果缓冲区包含指定的键,则返回&nbsp;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&lt;[K,V]&gt;
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,&nbsp;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&lt;[K, V]&gt;
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,&nbsp;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.BASICutil.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.BASICutil.Type.MIMEutil.Type.BASIC_URL_SAFEutil.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&nbsp;\|&nbsp;string | 是   | 待解码Uint8Array对象或者字符串。 |
3362e41f4b71Sopenharmony_ci| options<sup>10+</sup>    | [Type](#type10) | 否   | 从API version 10开始支持该参数,表示对应的解码格式。<br/>此参数可选,可选值为:util.Type.BASICutil.Type.MIMEutil.Type.BASIC_URL_SAFEutil.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&lt;Uint8Array&gt;
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.BASICutil.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&lt;Uint8Array&gt; | 返回异步编码后新分配的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&lt;string&gt;
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.BASICutil.Type.MIMEutil.Type.BASIC_URL_SAFEutil.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&lt;string&gt; | 返回异步编码后的字符串。 |
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&lt;Uint8Array&gt;
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&nbsp;\|&nbsp;string | 是   | 异步解码输入Uint8Array对象或者字符串。 |
3486e41f4b71Sopenharmony_ci| options<sup>10+</sup>    | [Type](#type10) | 否   | 从API version 10开始支持该参数,表示对应的解码格式。<br/>此参数可选,可选值为:util.Type.BASICutil.Type.MIMEutil.Type.BASIC_URL_SAFEutil.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&lt;Uint8Array&gt; | 返回异步解码后新分配的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&nbsp;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.Lang5006e41f4b71Sopenharmony_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&nbsp;\|&nbsp;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&nbsp;[] | 按从最近访问到最近最少访问的顺序返回当前缓冲区中所有值的列表。 |
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&nbsp;[] | 按升序返回当前缓冲区中所有键的列表,从最近访问到最近最少访问。 |
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&nbsp;\|&nbsp;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 | 如果缓冲区包含指定的键,则返回&nbsp;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&lt;[K,V]&gt;
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,&nbsp;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&lt;[K, V]&gt;
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,&nbsp;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&nbsp;\|&nbsp;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&lt;Uint8Array&gt;
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&lt;Uint8Array&gt; | 返回异步编码后新分配的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&lt;string&gt;
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&lt;string&gt; | 返回异步编码后的字符串。 |
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&lt;Uint8Array&gt;
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&nbsp;\|&nbsp;string | 是 | 异步解码输入Uint8数组或者字符串。 |
6407e41f4b71Sopenharmony_ci
6408e41f4b71Sopenharmony_ci**返回值:**
6409e41f4b71Sopenharmony_ci
6410e41f4b71Sopenharmony_ci| 类型 | 说明 |
6411e41f4b71Sopenharmony_ci| -------- | -------- |
6412e41f4b71Sopenharmony_ci| Promise&lt;Uint8Array&gt; | 返回异步解码后新分配的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