js-apis-util.md 107.6 KB
Newer Older
1
# @ohos.util (util工具函数)
Z
zengyawen 已提交
2

3
该模块主要提供常用的工具函数,实现字符串编解码(TextEncoder,TextDecoder)、有理数运算(RationalNumber)、缓冲区管理(LruBuffer)、范围判断(Scope)、Base64编解码(Base64)、内置对象类型检查(Types)等功能。
Z
zengyawen 已提交
4

5 6
> **说明:**
>
Z
zengyawen 已提交
7
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
8

Z
zengyawen 已提交
9 10

## 导入模块
Z
zengyawen 已提交
11

12
```js
Z
zengyawen 已提交
13
import util from '@ohos.util';
Z
zengyawen 已提交
14 15
```

J
jiangkai43 已提交
16 17 18 19 20 21 22 23 24 25 26 27 28
## util.format<sup>9+</sup>

format(format: string,  ...args: Object[]): string

通过式样化字符串对输入的内容按特定格式输出。

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名  | 类型     | 必填 | 说明           |
| ------- | -------- | ---- | -------------- |
| format  | string   | 是   | 式样化字符串。 |
29
| ...args | Object[] | 否   | 替换式样化字符串通配符的数据。  |
J
jiangkai43 已提交
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65

**返回值:**

| 类型   | 说明                         |
| ------ | ---------------------------- |
| string | 按特定格式式样化后的字符串。 |

**示例:**

  ```js
let res = util.format("%s", "hello world!");
console.log(res);
  ```

## util.errnoToString<sup>9+</sup>

errnoToString(errno: number): string

获取系统错误码对应的详细信息。

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名 | 类型   | 必填 | 说明                       |
| ------ | ------ | ---- | -------------------------- |
| errno  | number | 是   | 系统发生错误产生的错误码。 |

**返回值:**

| 类型   | 说明                   |
| ------ | ---------------------- |
| string | 错误码对应的详细信息。 |

**示例:**

66
```js
67
let errnum = -1; // -1 : a system error number
J
jiangkai43 已提交
68 69
let result = util.errnoToString(errnum);
console.log("result = " + result);
70
```
J
jiangkai43 已提交
71

Z
zengyawen 已提交
72 73
## util.callbackWrapper

Z
zengyawen 已提交
74
callbackWrapper(original: Function): (err: Object, value: Object )=&gt;void
Z
zengyawen 已提交
75 76 77

对异步函数进行回调化处理,回调中第一个参数将是拒绝原因(如果 Promise 已解决,则为 null),第二个参数将是已解决的值。

Z
zengyawen 已提交
78 79 80 81
**系统能力:** SystemCapability.Utils.Lang

**参数:**

82 83 84
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| original | Function | 是 | 异步函数。 |
Z
zengyawen 已提交
85

Z
zengyawen 已提交
86
**返回值:**
87

88 89 90
| 类型 | 说明 |
| -------- | -------- |
| Function | 返回一个第一个参数是拒绝原因(如果&nbsp;Promise&nbsp;已解决,则为&nbsp;null),第二个参数是已解决的回调函数。 |
Z
zengyawen 已提交
91

Z
zengyawen 已提交
92
**示例:**
93

94
  ```js
Z
zengyawen 已提交
95 96 97
  async function promiseFn() {
      return Promise.reject('value');
  }
98 99
  let err = "type err";
  let cb = util.callbackWrapper(promiseFn);
Z
zengyawen 已提交
100
  cb((err, ret) => {
Z
zengyawen 已提交
101 102
      console.log(err);
      console.log(ret);
S
shikai-123 已提交
103
  }, err)
Z
zengyawen 已提交
104 105
  ```

S
shikai-123 已提交
106
## util.promisify<sup>9+</sup>
107

S
shikai-123 已提交
108
promisify(original: (err: Object, value: Object) =&gt; void): Function
109 110 111 112 113 114

对异步函数处理并返回一个promise的函数。

**系统能力:** SystemCapability.Utils.Lang

**参数:**
115

116 117 118 119 120
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| original | Function | 是 | 异步函数。 |

**返回值:**
121

122 123 124 125 126
| 类型 | 说明 |
| -------- | -------- |
| Function | 采用遵循常见的错误优先的回调风格的函数(也就是将&nbsp;(err,&nbsp;value)&nbsp;=&gt;&nbsp;...&nbsp;回调作为最后一个参数),并返回一个返回&nbsp;promise&nbsp;的函数。 |

**示例:**
127

128
  ```js
S
shikai-123 已提交
129 130 131 132 133 134
  function aysnFun(str1, str2) {
    if (typeof str1 === 'object' && typeof str2 === 'object') {
      return str2
    } else {
      return str1
    }
135
  }
S
shikai-123 已提交
136
  let newPromiseObj = util.promisify(aysnFun);
S
shikai-123 已提交
137 138
  newPromiseObj({ err: "type error" }, {value:'HelloWorld'}).then(res => {
    console.log(res);
139 140
  })
  ```
Z
zengyawen 已提交
141

L
linhaoran 已提交
142 143 144 145 146 147 148 149 150
## util.randomUUID<sup>9+</sup>

randomUUID(entropyCache?: boolean): string

使用加密安全随机数生成器生成随机的RFC 4122版本4的 UUID。

**系统能力:** SystemCapability.Utils.Lang

**参数:**
151

L
linhaoran 已提交
152 153 154 155 156
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| entropyCache | boolean | 否 | 是否使用已缓存的UUID, 默认true。 |

**返回值:**
157

L
linhaoran 已提交
158 159 160 161 162
| 类型 | 说明 |
| -------- | -------- |
| string | 表示此UUID的字符串。 |

**示例:**
163

L
linhaoran 已提交
164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
  ```js
  let uuid = util.randomUUID(true);
  console.log("RFC 4122 Version 4 UUID:" + uuid);
  // 输出:
  // RFC 4122 Version 4 UUID:88368f2a-d5db-47d8-a05f-534fab0a0045
  ```

## util.randomBinaryUUID<sup>9+</sup>

randomBinaryUUID(entropyCache?: boolean): Uint8Array

使用加密安全随机数生成器生成随机的RFC 4122版本4的 UUID。

**系统能力:** SystemCapability.Utils.Lang

**参数:**
180

L
linhaoran 已提交
181 182 183 184 185
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| entropyCache | boolean | 否 | 是否使用已缓存的UUID, 默认true。 |

**返回值:**
186

L
linhaoran 已提交
187 188 189 190 191
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 表示此UUID的Uint8Array值。 |

**示例:**
192

L
linhaoran 已提交
193 194
  ```js
  let uuid = util.randomBinaryUUID(true);
195
  console.log(JSON.stringify(uuid));
L
linhaoran 已提交
196 197 198 199 200 201 202 203 204 205 206 207 208
  // 输出:
  // 138,188,43,243,62,254,70,119,130,20,235,222,199,164,140,150
  ```

## util.parseUUID<sup>9+</sup>

parseUUID(uuid: string): Uint8Array

从字符串中解析UUID,如RFC 4122版本4中所述。

**系统能力:** SystemCapability.Utils.Lang

**参数:**
209

L
linhaoran 已提交
210 211 212 213 214
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| uuid | string | 是 | UUID字符串。 |

**返回值:**
215

L
linhaoran 已提交
216 217 218 219 220
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回表示此UUID的Uint8Array,如果解析失败,则抛出SyntaxError。 |

**示例:**
221

L
linhaoran 已提交
222 223
  ```js
  let uuid = util.parseUUID("84bdf796-66cc-4655-9b89-d6218d100f9c");
224
  console.log(JSON.stringify(uuid));
L
linhaoran 已提交
225 226
  // 输出:
  // 132,189,247,150,102,204,70,85,155,137,214,33,141,16,15,156
J
jiangkai43 已提交
227
  ```
L
linhaoran 已提交
228

229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288
## util.printf<sup>(deprecated)</sup>

printf(format: string,  ...args: Object[]): string

通过式样化字符串对输入的内容按特定格式输出。

> **说明:**
>
> 从API version 7开始支持,从API version 9开始废弃,建议使用[util.format<sup>9+</sup>](#utilformat9)替代。

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| format | string | 是 | 式样化字符串。 |
| ...args | Object[] | 否 | 替换式样化字符串通配符的数据。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| string | 按特定格式式样化后的字符串。 |

**示例:**

  ```js
  let res = util.printf("%s", "hello world!");
  console.log(res);
  ```


## util.getErrorString<sup>(deprecated)</sup>

getErrorString(errno: number): string

获取系统错误码对应的详细信息。

> **说明:**
>
> 从API version 7开始支持,从API version 9开始废弃,建议使用[util.errnoToString<sup>9+</sup>](#utilerrnotostring9)替代。

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| errno | number | 是 | 系统发生错误产生的错误码。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| string | 错误码对应的详细信息。 |

**示例:**

  ```js
289
  let errnum = -1; // -1 : a system error number
290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318
  let result = util.getErrorString(errnum);
  console.log("result = " + result);
  ```

## util.promiseWrapper<sup>(deprecated)</sup>

promiseWrapper(original: (err: Object, value: Object) =&gt; void): Object

对异步函数处理并返回一个promise的版本。

> **说明:**
>
> 此接口不可用,建议使用[util.promisify<sup>9+</sup>](#utilpromisify9)替代。

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| original | Function | 是 | 异步函数。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Function | 采用遵循常见的错误优先的回调风格的函数(也就是将&nbsp;(err,&nbsp;value)&nbsp;=&gt;&nbsp;...&nbsp;回调作为最后一个参数),并返回一个返回&nbsp;promise&nbsp;的版本。 |


Z
zengyawen 已提交
319 320 321 322
## TextDecoder

### 属性

Z
zengyawen 已提交
323 324
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。

325
| 名称 | 类型 | 可读 | 可写 | 说明 |
Z
zengyawen 已提交
326 327 328
| -------- | -------- | -------- | -------- | -------- |
| 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-cyrilli、gbk、gb18030、big5、euc-jp、iso-2022-jp、shift_jis、euc-kr、utf-16be、utf-16le。 |
| fatal | boolean | 是 | 否 | 是否显示致命错误。 |
Z
zengyawen 已提交
329
| ignoreBOM | boolean | 是 | 否 | 是否忽略BOM(byte&nbsp;order&nbsp;marker)标记,默认值为false&nbsp;,表示解码结果包含BOM标记。 |
Z
zengyawen 已提交
330

J
jiangkai43 已提交
331
### constructor<sup>9+</sup>
Z
zengyawen 已提交
332

J
jiangkai43 已提交
333 334 335 336 337 338 339 340
constructor()

TextDecoder的构造函数。

**系统能力:** SystemCapability.Utils.Lang

### create<sup>9+</sup>

341
create(encoding?: string,options?: { fatal?: boolean; ignoreBOM?: boolean }): TextDecoder;
J
jiangkai43 已提交
342 343 344

替代有参构造功能。

345 346
**系统能力:** SystemCapability.Utils.Lang

J
jiangkai43 已提交
347 348 349 350 351 352 353
**参数:**

| 参数名   | 类型   | 必填 | 说明                                             |
| -------- | ------ | ---- | ------------------------------------------------ |
| encoding | string | 否   | 编码格式。                                       |
| options  | Object | 否   | 编码相关选项参数,存在两个属性fatal和ignoreBOM。 |

354
**表1.1**options
J
jiangkai43 已提交
355 356 357 358 359 360 361 362

| 名称      | 参数类型 | 必填 | 说明               |
| --------- | -------- | ---- | ------------------ |
| fatal     | boolean  | 否   | 是否显示致命错误。 |
| ignoreBOM | boolean  | 否   | 是否忽略BOM标记。  |

**示例:**

363
```js
J
jiangkai43 已提交
364 365
let textDecoder = new util.TextDecoder()
textDecoder.create('utf-8', { ignoreBOM : true });
366
```
J
jiangkai43 已提交
367

368
### decodeWithStream<sup>9+</sup>
Z
zengyawen 已提交
369

370
decodeWithStream(input: Uint8Array, options?: { stream?: boolean }): string
Z
zengyawen 已提交
371 372 373

通过输入参数解码后输出对应文本。

Z
zengyawen 已提交
374 375 376
**系统能力:** SystemCapability.Utils.Lang

**参数:**
377

378 379
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
380
| input | Uint8Array | 是 | 符合格式需要解码的数组。 |
381
| options | Object | 否 | 解码相关选项参数。 |
Z
zengyawen 已提交
382

383
**表2** options
Z
zengyawen 已提交
384

385 386
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
387
| stream | boolean | 否 | 在随后的decodeWithStream()调用中是否跟随附加数据块。如果以块的形式处理数据,则设置为true;如果处理最后的数据块或数据未分块,则设置为false。默认为false。 |
Z
zengyawen 已提交
388

Z
zengyawen 已提交
389
**返回值:**
390

391 392 393
| 类型 | 说明 |
| -------- | -------- |
| string | 解码后的数据。 |
Z
zengyawen 已提交
394

Z
zengyawen 已提交
395
**示例:**
396

397
  ```js
398 399
  let textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true});
  let result = new Uint8Array(6);
Z
zengyawen 已提交
400 401 402 403 404 405 406
  result[0] = 0xEF;
  result[1] = 0xBB;
  result[2] = 0xBF;
  result[3] = 0x61;
  result[4] = 0x62;
  result[5] = 0x63;
  console.log("input num:");
407
  let retStr = textDecoder.decodeWithStream( result , {stream: false});
Z
zengyawen 已提交
408 409 410
  console.log("retStr = " + retStr);
  ```

411
### constructor<sup>(deprecated)</sup>
Z
zengyawen 已提交
412

413
constructor(encoding?: string, options?: { fatal?: boolean; ignoreBOM?: boolean })
414

415
TextDecoder的构造函数。
416

417 418
> **说明:**
>
419
> 从API version 7开始支持,从API version 9开始废弃,建议使用[create<sup>9+</sup>](#create9)替代。
420 421 422 423

**系统能力:** SystemCapability.Utils.Lang

**参数:**
424

425 426
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
427 428
| encoding | string | 否 | 编码格式。 |
| options | Object | 否 | 编码相关选项参数,存在两个属性fatal和ignoreBOM。 |
429

430
  **表1** options
431 432 433

| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
434 435
| fatal | boolean | 否 | 是否显示致命错误。 |
| ignoreBOM | boolean | 否 | 是否忽略BOM标记。 |
436 437

**示例:**
438

439
  ```js
440
  let textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true});
441 442
  ```

443
### decode<sup>(deprecated)</sup>
444

445
decode(input: Uint8Array, options?: { stream?: false }): string
446

447
通过输入参数解码后输出对应文本。
448 449 450

> **说明:**
>
451
> 从API version 7开始支持,从API version 9开始废弃,建议使用[decodeWithStream<sup>9+</sup>](#decodewithstream9)替代。
452 453 454 455 456 457 458

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
459 460
| input | Uint8Array | 是 | 符合格式需要解码的数组。 |
| options | Object | 否 | 解码相关选项参数。 |
461

462
**表2** options
463 464 465

| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
466 467 468 469 470 471 472
| stream | boolean | 否 | 在随后的decode()调用中是否跟随附加数据块。如果以块的形式处理数据,则设置为true;如果处理最后的数据块或数据未分块,则设置为false。默认为false。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| string | 解码后的数据。 |
473 474 475 476 477

**示例:**

  ```js
  let textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true});
478 479 480 481 482 483 484 485 486 487
  let result = new Uint8Array(6);
  result[0] = 0xEF;
  result[1] = 0xBB;
  result[2] = 0xBF;
  result[3] = 0x61;
  result[4] = 0x62;
  result[5] = 0x63;
  console.log("input num:");
  let retStr = textDecoder.decode( result , {stream: false});
  console.log("retStr = " + retStr);
488
  ```
489

Z
zengyawen 已提交
490
## TextEncoder
Z
zengyawen 已提交
491

Z
zengyawen 已提交
492
### 属性
Z
zengyawen 已提交
493

Z
zengyawen 已提交
494 495
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。

496
| 名称 | 类型 | 可读 | 可写 | 说明 |
Z
zengyawen 已提交
497 498
| -------- | -------- | -------- | -------- | -------- |
| encoding | string | 是 | 否 | 编码格式,默认值是utf-8。 |
Z
zengyawen 已提交
499

Z
zengyawen 已提交
500 501 502 503 504 505
### constructor

constructor()

TextEncoder的构造函数。

Z
zengyawen 已提交
506 507 508
**系统能力:** SystemCapability.Utils.Lang

**示例:**
509

510
  ```js
511
  let textEncoder = new util.TextEncoder();
Z
zengyawen 已提交
512 513
  ```

514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533
### constructor<sup>9+</sup>

constructor(encoding?: string)

TextEncoder的构造函数。

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| ----- | ---- | ---- | ---- |
| encoding | string | 否 | 编码格式 |

**示例:**

  ```js
  let textEncoder = new util.TextEncoder("utf-8");
  ```

J
jiangkai43 已提交
534 535 536 537 538 539 540 541 542 543 544 545
### encodeInto<sup>9+</sup>

encodeInto(input?: string): Uint8Array

通过输入参数编码后输出对应文本。

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名 | 类型   | 必填 | 说明               |
| ------ | ------ | ---- | ------------------ |
546
| input  | string | 否   | 需要编码的字符串。 |
J
jiangkai43 已提交
547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562

**返回值:**

| 类型       | 说明               |
| ---------- | ------------------ |
| Uint8Array | 返回编码后的文本。 |

**示例:**

  ```js
let textEncoder = new util.TextEncoder();
let buffer = new ArrayBuffer(20);
let result = new Uint8Array(buffer);
result = textEncoder.encodeInto("\uD800¥¥");
  ```

563
### encodeIntoUint8Array<sup>9+</sup>
Z
zengyawen 已提交
564

565
encodeIntoUint8Array(input: string, dest: Uint8Array, ): { read: number; written: number }
Z
zengyawen 已提交
566

567
放置生成的UTF-8编码文本。
568

Z
zengyawen 已提交
569 570 571
**系统能力:** SystemCapability.Utils.Lang

**参数:**
572

573 574 575 576
| 参数名 | 类型       | 必填 | 说明                                                    |
| ------ | ---------- | ---- | ------------------------------------------------------- |
| input  | string     | 是   | 需要编码的字符串。                                      |
| dest   | Uint8Array | 是   | Uint8Array对象实例,用于将生成的UTF-8编码文本放入其中。 |
Z
zengyawen 已提交
577

Z
zengyawen 已提交
578
**返回值:**
579

580 581
| 类型       | 说明               |
| ---------- | ------------------ |
582
| Uint8Array | 返回编码后的文本。 |
Z
zengyawen 已提交
583

Z
zengyawen 已提交
584
**示例:**
585

586
  ```js
587 588 589 590
let that = new util.TextEncoder()
let buffer = new ArrayBuffer(4)
let dest = new Uint8Array(buffer)
let result = new Object()
591
result = that.encodeIntoUint8Array('abcd', dest)
Z
zengyawen 已提交
592
  ```
Z
zengyawen 已提交
593

594
### encodeInto<sup>(deprecated)</sup>
J
jiangkai43 已提交
595

596
encodeInto(input: string, dest: Uint8Array, ): { read: number; written: number }
J
jiangkai43 已提交
597 598 599

放置生成的UTF-8编码文本。

600 601 602 603
> **说明:**
>
> 从API version 7开始支持,从API version 9开始废弃,建议使用[encodeIntoUint8Array<sup>9+</sup>](#encodeintouint8array9)替代。

J
jiangkai43 已提交
604 605 606 607
**系统能力:** SystemCapability.Utils.Lang

**参数:**

608 609 610 611
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| input | string | 是 | 需要编码的字符串。 |
| dest | Uint8Array | 是 | Uint8Array对象实例,用于将生成的UTF-8编码文本放入其中。 |
J
jiangkai43 已提交
612 613 614

**返回值:**

615 616
| 类型 | 说明 |
| -------- | -------- |
J
jiangkai43 已提交
617 618 619 620
| Uint8Array | 返回编码后的文本。 |

**示例:**
  ```js
621 622 623 624 625
  let that = new util.TextEncoder()
  let buffer = new ArrayBuffer(4)
  let dest = new Uint8Array(buffer)
  let result = new Object()
  result = that.encodeInto('abcd', dest)
J
jiangkai43 已提交
626 627
  ```

628
### encode<sup>(deprecated)</sup>
Z
zengyawen 已提交
629

630
encode(input?: string): Uint8Array
Z
zengyawen 已提交
631

632
通过输入参数编码后输出对应文本。
Z
zengyawen 已提交
633

634 635
> **说明:**
>
636
> 从API version 7开始支持,从API version 9开始废弃,建议使用[encodeInto<sup>9+</sup>](#encodeinto9)替代。
637

Z
zengyawen 已提交
638 639 640
**系统能力:** SystemCapability.Utils.Lang

**参数:**
641

642 643
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
644
| input | string | 否 | 需要编码的字符串。 |
Z
zengyawen 已提交
645

Z
zengyawen 已提交
646
**返回值:**
647

648 649 650
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回编码后的文本。 |
Z
zengyawen 已提交
651

Z
zengyawen 已提交
652
**示例:**
653
  ```js
654 655 656 657
  let textEncoder = new util.TextEncoder();
  let buffer = new ArrayBuffer(20);
  let result = new Uint8Array(buffer);
  result = textEncoder.encode("\uD800¥¥");
Z
zengyawen 已提交
658
  ```
Z
zengyawen 已提交
659 660 661

## RationalNumber<sup>8+</sup>

J
jiangkai43 已提交
662
### constructor<sup>9+</sup>
Z
zengyawen 已提交
663

J
jiangkai43 已提交
664 665 666 667 668 669 670 671
constructor()

RationalNumber的构造函数。

**系统能力:** SystemCapability.Utils.Lang

**示例:**

672
```js
J
jiangkai43 已提交
673
let rationalNumber = new util.RationalNumber();
674
```
J
jiangkai43 已提交
675 676 677

### parseRationalNumber<sup>9+</sup>

678
parseRationalNumber(numerator: number,denominator: number): RationalNumber
J
jiangkai43 已提交
679 680 681 682 683 684 685 686 687 688 689 690 691 692

替代原有参构造的参数处理。

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名      | 类型   | 必填 | 说明             |
| ----------- | ------ | ---- | ---------------- |
| numerator   | number | 是   | 分子,整数类型。 |
| denominator | number | 是   | 分母,整数类型。 |

**示例:**

693
```js
小马奔腾 已提交
694
let rationalNumber = util.RationalNumber.parseRationalNumber(1,2)
695
```
J
jiangkai43 已提交
696

Z
zengyawen 已提交
697 698
### createRationalFromString<sup>8+</sup>

X
xdmal 已提交
699
static createRationalFromString​(rationalString: string): RationalNumber​
Z
zengyawen 已提交
700 701 702

基于给定的字符串创建一个RationalNumber对象。

Z
zengyawen 已提交
703 704 705
**系统能力:** SystemCapability.Utils.Lang

**参数:**
706

707 708 709
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| rationalString | string | 是 | 字符串格式。 |
Z
zengyawen 已提交
710

Z
zengyawen 已提交
711
**返回值:**
712

713 714 715
| 类型 | 说明 |
| -------- | -------- |
| object | 返回有理数类的对象。 |
Z
zengyawen 已提交
716

Z
zengyawen 已提交
717
**示例:**
718 719 720 721 722

```js
let rationalNumber = new util.RationalNumber(1,2);
let rational = util.RationalNumber.createRationalFromString("3/4");
```
Z
zengyawen 已提交
723

J
jiangkai43 已提交
724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751
### compare<sup>9+</sup>

compare​(another: RationalNumber): number​

将当前的RationalNumber对象与给定的对象进行比较。

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名  | 类型           | 必填 | 说明               |
| ------- | -------------- | ---- | ------------------ |
| another | RationalNumber | 是   | 其他的有理数对象。 |

**返回值:**

| 类型   | 说明                                                         |
| ------ | ------------------------------------------------------------ |
| number | 如果两个对象相等,则返回0;如果给定对象小于当前对象,则返回1;如果给定对象大于当前对象,则返回-1。 |

**示例:**

  ```js
let rationalNumber = new util.RationalNumber(1,2);
let rational = util.RationalNumber.createRationalFromString("3/4");
let result = rationalNumber.compare(rational);
  ```

Z
zengyawen 已提交
752 753
### valueOf<sup>8+</sup>

X
xdmal 已提交
754
valueOf(): number
Z
zengyawen 已提交
755 756 757

以整数形式或者浮点数的形式获取当前RationalNumber对象的值。

Z
zengyawen 已提交
758 759 760
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
761

762 763 764
| 类型 | 说明 |
| -------- | -------- |
| number | 返回整数或者浮点数的值。 |
Z
zengyawen 已提交
765

Z
zengyawen 已提交
766
**示例:**
767 768 769 770 771

```js
let rationalNumber = new util.RationalNumber(1,2);
let result = rationalNumber.valueOf();
```
Z
zengyawen 已提交
772 773 774

### equals<sup>8+</sup>

X
xdmal 已提交
775
equals​(obj: Object): boolean
Z
zengyawen 已提交
776 777 778

将当前的RationalNumber对象与给定的对象进行比较是否相等。

Z
zengyawen 已提交
779 780 781
**系统能力:** SystemCapability.Utils.Lang

**参数:**
782

783 784 785
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| object | Object | 是 | 其他类型对象。 |
Z
zengyawen 已提交
786

Z
zengyawen 已提交
787
**返回值:**
788

789 790 791
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果给定对象与当前对象相同,则返回true;否则返回false。 |
Z
zengyawen 已提交
792

Z
zengyawen 已提交
793
**示例:**
794 795 796 797 798 799

```js
let rationalNumber = new util.RationalNumber(1,2);
let rational = util.RationalNumber.createRationalFromString("3/4");
let result = rationalNumber.equals(rational);
```
Z
zengyawen 已提交
800

J
jiangkai43 已提交
801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823
### getCommonFactor<sup>9+</sup>

getCommonFactor(number1: number,number2: number): number

获取两个指定整数的最大公约数。

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名  | 类型   | 必填 | 说明       |
| ------- | ------ | ---- | ---------- |
| number1 | number | 是   | 整数类型。 |
| number2 | number | 是   | 整数类型。 |

**返回值:**

| 类型   | 说明                           |
| ------ | ------------------------------ |
| number | 返回两个给定数字的最大公约数。 |

**示例:**

824
```js
J
jiangkai43 已提交
825 826
let rationalNumber = new util.RationalNumber(1,2);
let result = util.RationalNumber.getCommonFactor(4,6);
827
```
Z
zengyawen 已提交
828 829 830

### getNumerator<sup>8+</sup>

X
xdmal 已提交
831
getNumerator​(): number
Z
zengyawen 已提交
832 833 834

获取当前RationalNumber对象的分子。

Z
zengyawen 已提交
835 836 837 838
**系统能力:** SystemCapability.Utils.Lang

**返回值:**

839 840 841
| 类型 | 说明 |
| -------- | -------- |
| number | 返回RationalNumber对象的分子的值。 |
Z
zengyawen 已提交
842

Z
zengyawen 已提交
843
**示例:**
844 845 846 847 848

```js
let rationalNumber = new util.RationalNumber(1,2);
let result = rationalNumber.getNumerator();
```
Z
zengyawen 已提交
849 850 851

### getDenominator<sup>8+</sup>

X
xdmal 已提交
852
getDenominator​(): number
Z
zengyawen 已提交
853 854 855

获取当前RationalNumber对象的分母。

Z
zengyawen 已提交
856 857 858
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
859

860 861 862
| 类型 | 说明 |
| -------- | -------- |
| number | 返回RationalNumber对象的分母的值。 |
Z
zengyawen 已提交
863

Z
zengyawen 已提交
864
**示例:**
865 866 867

```js
let rationalNumber = new util.RationalNumber(1,2);
868
let result = rationalNumber.getDenominator();
869
```
Z
zengyawen 已提交
870 871 872 873 874 875 876

### isZero<sup>8+</sup>

isZero​():boolean

检查当前RationalNumber对象是否为0。

Z
zengyawen 已提交
877 878 879
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
880

881 882 883
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果当前对象表示的值为0,则返回true;否则返回false。 |
Z
zengyawen 已提交
884

Z
zengyawen 已提交
885
**示例:**
886 887 888 889 890

```js
let rationalNumber = new util.RationalNumber(1,2);
let result = rationalNumber.isZero();
```
Z
zengyawen 已提交
891 892 893

### isNaN<sup>8+</sup>

X
xdmal 已提交
894
isNaN​(): boolean
Z
zengyawen 已提交
895 896 897

检查当前RationalNumber对象是否表示非数字(NaN)值。

Z
zengyawen 已提交
898 899 900
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
901

902 903 904
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果分母和分子都为0,则返回true;否则返回false。 |
Z
zengyawen 已提交
905

Z
zengyawen 已提交
906
**示例:**
907 908 909 910 911

```js
let rationalNumber = new util.RationalNumber(1,2);
let result = rationalNumber.isNaN();
```
Z
zengyawen 已提交
912 913 914 915 916 917 918

### isFinite<sup>8+</sup>

isFinite​():boolean

检查当前RationalNumber对象是否表示一个有限值。

Z
zengyawen 已提交
919 920 921
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
922

923 924 925
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果分母不为0,则返回true;否则返回false。 |
Z
zengyawen 已提交
926

Z
zengyawen 已提交
927
**示例:**
928 929 930 931 932

```js
let rationalNumber = new util.RationalNumber(1,2);
let result = rationalNumber.isFinite();
```
Z
zengyawen 已提交
933 934 935

### toString<sup>8+</sup>

X
xdmal 已提交
936
toString​(): string
Z
zengyawen 已提交
937 938 939

获取当前RationalNumber对象的字符串表示形式。

Z
zengyawen 已提交
940 941 942
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
943

944 945 946
| 类型 | 说明 |
| -------- | -------- |
| string | 返回Numerator/Denominator格式的字符串,例如3/5,如果当前对象的分子和分母都为0,则返回NaN。 |
Z
zengyawen 已提交
947

Z
zengyawen 已提交
948
**示例:**
949 950 951 952 953

```js
let rationalNumber = new util.RationalNumber(1,2);
let result = rationalNumber.toString();
```
Z
zengyawen 已提交
954

955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042
### constructor<sup>(deprecated)</sup>

constructor(numerator: number,denominator: number)

RationalNumber的构造函数。

> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[constructor<sup>9+</sup>](#constructor9)替代。

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| numerator | number | 是 | 分子,整数类型。 |
| denominator | number | 是 | 分母,整数类型。 |

**示例:**

```js
let rationalNumber = new util.RationalNumber(1,2);
```

### compareTo<sup>(deprecated)</sup>

compareTo​(another: RationalNumber): number​

将当前的RationalNumber对象与给定的对象进行比较。

> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[compare<sup>9+</sup>](#compare9)替代。

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| another | RationalNumber | 是 | 其他的有理数对象。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| number | 如果两个对象相等,则返回0;如果给定对象小于当前对象,则返回1;如果给定对象大于当前对象,则返回-1。 |

**示例:**

```js
let rationalNumber = new util.RationalNumber(1,2);
let rational = util.RationalNumber.createRationalFromString("3/4");
let result = rationalNumber.compareTo(rational);
```

### getCommonDivisor<sup>(deprecated)</sup>

static getCommonDivisor​(number1: number,number2: number): number

获取两个指定整数的最大公约数。

> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[getCommonFactor<sup>9+</sup>](#getcommonfactor9)替代。

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| number1 | number | 是 | 整数类型。 |
| number2 | number | 是 | 整数类型。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| number | 返回两个给定数字的最大公约数。 |

**示例:**

```js
let rationalNumber = new util.RationalNumber(1,2);
let result = util.RationalNumber.getCommonDivisor(4,6);
```
J
jiangkai43 已提交
1043 1044

## LRUCache<sup>9+</sup>
Z
zengyawen 已提交
1045 1046 1047

### 属性

Z
zengyawen 已提交
1048 1049
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。

J
jiangkai43 已提交
1050 1051 1052
| 名称   | 类型   | 可读 | 可写 | 说明                   |
| ------ | ------ | ---- | ---- | ---------------------- |
| length | number | 是   | 否   | 当前缓冲区中值的总数。 |
Z
zengyawen 已提交
1053

Z
zengyawen 已提交
1054
**示例:**
J
jiangkai43 已提交
1055

1056
```js
J
jiangkai43 已提交
1057 1058 1059 1060
let pro = new util.LRUCache();
pro.put(2,10);
pro.put(1,8);
let result = pro.length;
1061
```
Z
zengyawen 已提交
1062

J
jiangkai43 已提交
1063
### constructor<sup>9+</sup>
Z
zengyawen 已提交
1064

X
xdmal 已提交
1065
constructor(capacity?: number)
Z
zengyawen 已提交
1066 1067 1068

默认构造函数用于创建一个新的LruBuffer实例,默认容量为64。

Z
zengyawen 已提交
1069 1070 1071
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1072

J
jiangkai43 已提交
1073 1074 1075
| 参数名   | 类型   | 必填 | 说明                         |
| -------- | ------ | ---- | ---------------------------- |
| capacity | number | 否   | 指示要为缓冲区自定义的容量。 |
Z
zengyawen 已提交
1076

Z
zengyawen 已提交
1077
**示例:**
J
jiangkai43 已提交
1078

1079
```js
J
jiangkai43 已提交
1080
let lrubuffer= new util.LRUCache();
1081
```
Z
zengyawen 已提交
1082 1083


J
jiangkai43 已提交
1084
### updateCapacity<sup>9+</sup>
Z
zengyawen 已提交
1085

X
xdmal 已提交
1086
updateCapacity(newCapacity: number): void
Z
zengyawen 已提交
1087 1088 1089

将缓冲区容量更新为指定容量,如果newCapacity小于或等于0,则抛出异常。

Z
zengyawen 已提交
1090 1091 1092
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1093

J
jiangkai43 已提交
1094 1095 1096
| 参数名      | 类型   | 必填 | 说明                         |
| ----------- | ------ | ---- | ---------------------------- |
| newCapacity | number | 是   | 指示要为缓冲区自定义的容量。 |
Z
zengyawen 已提交
1097

Z
zengyawen 已提交
1098
**示例:**
J
jiangkai43 已提交
1099

1100
```js
J
jiangkai43 已提交
1101 1102
let pro = new util.LRUCache();
let result = pro.updateCapacity(100);
1103
```
Z
zengyawen 已提交
1104 1105


J
jiangkai43 已提交
1106
### toString<sup>9+</sup>
Z
zengyawen 已提交
1107

X
xdmal 已提交
1108
toString(): string
Z
zengyawen 已提交
1109 1110 1111

返回对象的字符串表示形式。

Z
zengyawen 已提交
1112 1113 1114
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1115

J
jiangkai43 已提交
1116 1117
| 类型   | 说明                       |
| ------ | -------------------------- |
1118
| string | 返回对象的字符串表示形式。 |
Z
zengyawen 已提交
1119

Z
zengyawen 已提交
1120
**示例:**
J
jiangkai43 已提交
1121

1122
```js
J
jiangkai43 已提交
1123 1124 1125 1126 1127
let pro = new util.LRUCache();
pro.put(2,10);
pro.get(2);
pro.remove(20);
let result = pro.toString();
1128
```
Z
zengyawen 已提交
1129 1130


J
jiangkai43 已提交
1131
### getCapacity<sup>9+</sup>
Z
zengyawen 已提交
1132

X
xdmal 已提交
1133
getCapacity(): number
Z
zengyawen 已提交
1134 1135 1136

获取当前缓冲区的容量。

Z
zengyawen 已提交
1137 1138 1139
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1140

J
jiangkai43 已提交
1141 1142
| 类型   | 说明                   |
| ------ | ---------------------- |
1143
| number | 返回当前缓冲区的容量。 |
Z
zengyawen 已提交
1144

Z
zengyawen 已提交
1145
**示例:**
J
jiangkai43 已提交
1146

1147
  ```js
J
jiangkai43 已提交
1148 1149
let pro = new util.LRUCache();
let result = pro.getCapacity();
Z
zengyawen 已提交
1150 1151 1152
  ```


J
jiangkai43 已提交
1153
### clear<sup>9+</sup>
Z
zengyawen 已提交
1154

X
xdmal 已提交
1155
clear(): void
Z
zengyawen 已提交
1156 1157 1158

从当前缓冲区清除键值对。后续会调用afterRemoval()方法执行后续操作。

Z
zengyawen 已提交
1159 1160 1161
**系统能力:** SystemCapability.Utils.Lang

**示例:**
J
jiangkai43 已提交
1162

1163
  ```js
J
jiangkai43 已提交
1164 1165 1166 1167
let pro = new util.LRUCache();
pro.put(2,10);
let result = pro.length;
pro.clear();
Z
zengyawen 已提交
1168 1169 1170
  ```


J
jiangkai43 已提交
1171
### getCreateCount<sup>9+</sup>
Z
zengyawen 已提交
1172

X
xdmal 已提交
1173
getCreateCount(): number
Z
zengyawen 已提交
1174 1175 1176

获取createDefault()返回值的次数。

Z
zengyawen 已提交
1177 1178 1179
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1180

J
jiangkai43 已提交
1181 1182
| 类型   | 说明                              |
| ------ | --------------------------------- |
1183
| number | 返回createDefault()返回值的次数。 |
Z
zengyawen 已提交
1184

Z
zengyawen 已提交
1185
**示例:**
J
jiangkai43 已提交
1186

1187
  ```js
J
jiangkai43 已提交
1188 1189 1190
let pro = new util.LRUCache();
pro.put(1,8);
let result = pro.getCreateCount();
Z
zengyawen 已提交
1191 1192 1193
  ```


J
jiangkai43 已提交
1194
### getMissCount<sup>9+</sup>
Z
zengyawen 已提交
1195

X
xdmal 已提交
1196
getMissCount(): number
Z
zengyawen 已提交
1197 1198 1199

获取查询值不匹配的次数。

Z
zengyawen 已提交
1200 1201 1202
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1203

J
jiangkai43 已提交
1204 1205
| 类型   | 说明                     |
| ------ | ------------------------ |
1206
| number | 返回查询值不匹配的次数。 |
Z
zengyawen 已提交
1207

Z
zengyawen 已提交
1208
**示例:**
J
jiangkai43 已提交
1209

1210
  ```js
J
jiangkai43 已提交
1211 1212 1213 1214
let pro = new util.LRUCache();
pro.put(2,10);
pro.get(2);
let result = pro.getMissCount();
Z
zengyawen 已提交
1215 1216 1217
  ```


J
jiangkai43 已提交
1218
### getRemovalCount<sup>9+</sup>
Z
zengyawen 已提交
1219

X
xdmal 已提交
1220
getRemovalCount(): number
Z
zengyawen 已提交
1221 1222 1223

获取从缓冲区中逐出值的次数。

Z
zengyawen 已提交
1224 1225 1226
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1227

J
jiangkai43 已提交
1228 1229
| 类型   | 说明                       |
| ------ | -------------------------- |
1230
| number | 返回从缓冲区中驱逐的次数。 |
Z
zengyawen 已提交
1231

Z
zengyawen 已提交
1232
**示例:**
J
jiangkai43 已提交
1233

1234
  ```js
J
jiangkai43 已提交
1235 1236 1237 1238 1239
let pro = new util.LRUCache();
pro.put(2,10);
pro.updateCapacity(2);
pro.put(50,22);
let result = pro.getRemovalCount();
Z
zengyawen 已提交
1240 1241 1242
  ```


J
jiangkai43 已提交
1243
### getMatchCount<sup>9+</sup>
Z
zengyawen 已提交
1244

X
xdmal 已提交
1245
getMatchCount(): number
Z
zengyawen 已提交
1246 1247 1248

获取查询值匹配成功的次数。

Z
zengyawen 已提交
1249 1250 1251
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1252

J
jiangkai43 已提交
1253 1254
| 类型   | 说明                       |
| ------ | -------------------------- |
1255
| number | 返回查询值匹配成功的次数。 |
Z
zengyawen 已提交
1256

Z
zengyawen 已提交
1257
**示例:**
J
jiangkai43 已提交
1258

1259
  ```js
J
jiangkai43 已提交
1260 1261 1262 1263
let pro = new util.LRUCache();
pro.put(2,10);
pro.get(2);
let result = pro.getMatchCount();
Z
zengyawen 已提交
1264 1265 1266
  ```


J
jiangkai43 已提交
1267
### getPutCount<sup>9+</sup>
Z
zengyawen 已提交
1268

X
xdmal 已提交
1269
getPutCount(): number
Z
zengyawen 已提交
1270 1271 1272

获取将值添加到缓冲区的次数。

Z
zengyawen 已提交
1273 1274 1275
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1276

J
jiangkai43 已提交
1277 1278
| 类型   | 说明                         |
| ------ | ---------------------------- |
1279
| number | 返回将值添加到缓冲区的次数。 |
Z
zengyawen 已提交
1280

Z
zengyawen 已提交
1281
**示例:**
J
jiangkai43 已提交
1282

1283
  ```js
J
jiangkai43 已提交
1284 1285 1286
let pro = new util.LRUCache();
pro.put(2,10);
let result = pro.getPutCount();
Z
zengyawen 已提交
1287 1288 1289
  ```


J
jiangkai43 已提交
1290
### isEmpty<sup>9+</sup>
Z
zengyawen 已提交
1291

X
xdmal 已提交
1292
isEmpty(): boolean
Z
zengyawen 已提交
1293 1294 1295

检查当前缓冲区是否为空。

Z
zengyawen 已提交
1296 1297 1298
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1299

J
jiangkai43 已提交
1300 1301
| 类型    | 说明                                     |
| ------- | ---------------------------------------- |
1302
| boolean | 如果当前缓冲区不包含任何值,则返回true。 |
Z
zengyawen 已提交
1303

Z
zengyawen 已提交
1304
**示例:**
J
jiangkai43 已提交
1305

1306
  ```js
J
jiangkai43 已提交
1307 1308 1309
let pro = new util.LRUCache();
pro.put(2,10);
let result = pro.isEmpty();
Z
zengyawen 已提交
1310 1311 1312
  ```


J
jiangkai43 已提交
1313
### get<sup>9+</sup>
Z
zengyawen 已提交
1314

X
xdmal 已提交
1315
get(key: K): V | undefined
Z
zengyawen 已提交
1316 1317 1318

表示要查询的键。

Z
zengyawen 已提交
1319 1320 1321
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1322

J
jiangkai43 已提交
1323 1324 1325
| 参数名 | 类型 | 必填 | 说明         |
| ------ | ---- | ---- | ------------ |
| key    | K    | 是   | 要查询的键。 |
Z
zengyawen 已提交
1326

Z
zengyawen 已提交
1327
**返回值:**
1328

J
jiangkai43 已提交
1329 1330
| 类型                     | 说明                                                         |
| ------------------------ | ------------------------------------------------------------ |
1331
| V \| undefined | 如果指定的键存在于缓冲区中,则返回与键关联的值;否则返回undefined。 |
Z
zengyawen 已提交
1332

Z
zengyawen 已提交
1333
**示例:**
J
jiangkai43 已提交
1334

1335
  ```js
J
jiangkai43 已提交
1336 1337 1338
let pro = new util.LRUCache();
pro.put(2,10);
let result  = pro.get(2);
Z
zengyawen 已提交
1339 1340 1341
  ```


J
jiangkai43 已提交
1342
### put<sup>9+</sup>
Z
zengyawen 已提交
1343

X
xdmal 已提交
1344
put(key: K,value: V): V
Z
zengyawen 已提交
1345 1346 1347

将键值对添加到缓冲区。

Z
zengyawen 已提交
1348 1349 1350
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1351

J
jiangkai43 已提交
1352 1353 1354 1355
| 参数名 | 类型 | 必填 | 说明                       |
| ------ | ---- | ---- | -------------------------- |
| key    | K    | 是   | 要添加的密钥。             |
| value  | V    | 是   | 指示与要添加的键关联的值。 |
Z
zengyawen 已提交
1356

Z
zengyawen 已提交
1357
**返回值:**
1358

J
jiangkai43 已提交
1359 1360 1361
| 类型 | 说明                                                         |
| ---- | ------------------------------------------------------------ |
| V    | 返回与添加的键关联的值;如果要添加的键已经存在,则返回原始值,如果键或值为空,则抛出此异常。 |
Z
zengyawen 已提交
1362

Z
zengyawen 已提交
1363
**示例:**
J
jiangkai43 已提交
1364

1365
  ```js
J
jiangkai43 已提交
1366 1367
let pro = new util.LRUCache();
let result = pro.put(2,10);
Z
zengyawen 已提交
1368 1369
  ```

J
jiangkai43 已提交
1370
### values<sup>9+</sup>
Z
zengyawen 已提交
1371

X
xdmal 已提交
1372
values(): V[]
Z
zengyawen 已提交
1373 1374 1375

获取当前缓冲区中所有值从最近访问到最近最少访问的顺序列表 。

Z
zengyawen 已提交
1376 1377 1378
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1379

J
jiangkai43 已提交
1380 1381
| 类型      | 说明                                                         |
| --------- | ------------------------------------------------------------ |
1382
| V&nbsp;[] | 按从最近访问到最近最少访问的顺序返回当前缓冲区中所有值的列表。 |
Z
zengyawen 已提交
1383

Z
zengyawen 已提交
1384
**示例:**
J
jiangkai43 已提交
1385

1386
  ```js
J
jiangkai43 已提交
1387 1388 1389 1390 1391
let pro = new util.LRUCache();
pro.put(2,10);
pro.put(2,"anhu");
pro.put("afaf","grfb");
let result = pro.values();
Z
zengyawen 已提交
1392 1393 1394
  ```


J
jiangkai43 已提交
1395
### keys<sup>9+</sup>
Z
zengyawen 已提交
1396

X
xdmal 已提交
1397
keys(): K[]
Z
zengyawen 已提交
1398 1399 1400

获取当前缓冲区中所有键从最近访问到最近最少访问的升序列表。

Z
zengyawen 已提交
1401 1402 1403
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1404

J
jiangkai43 已提交
1405 1406
| 类型      | 说明                                                         |
| --------- | ------------------------------------------------------------ |
1407
| K&nbsp;[] | 按升序返回当前缓冲区中所有键的列表,从最近访问到最近最少访问。 |
Z
zengyawen 已提交
1408

Z
zengyawen 已提交
1409
**示例:**
J
jiangkai43 已提交
1410

1411
  ```js
J
jiangkai43 已提交
1412 1413 1414
let pro = new util.LRUCache();
pro.put(2,10);
let result = pro.keys();
Z
zengyawen 已提交
1415 1416 1417
  ```


J
jiangkai43 已提交
1418
### remove<sup>9+</sup>
Z
zengyawen 已提交
1419

X
xdmal 已提交
1420
remove(key: K): V | undefined
Z
zengyawen 已提交
1421 1422 1423

从当前缓冲区中删除指定的键及其关联的值。

Z
zengyawen 已提交
1424 1425 1426
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1427

J
jiangkai43 已提交
1428 1429 1430
| 参数名 | 类型 | 必填 | 说明           |
| ------ | ---- | ---- | -------------- |
| key    | K    | 是   | 要删除的密钥。 |
Z
zengyawen 已提交
1431

Z
zengyawen 已提交
1432
**返回值:**
1433

J
jiangkai43 已提交
1434 1435
| 类型                     | 说明                                                         |
| ------------------------ | ------------------------------------------------------------ |
Z
zengyawen 已提交
1436
| V&nbsp;\|&nbsp;undefined | 返回一个包含已删除键值对的Optional对象;如果key不存在,则返回一个空的Optional对象,如果key为null,则抛出异常。 |
Z
zengyawen 已提交
1437

Z
zengyawen 已提交
1438
**示例:**
J
jiangkai43 已提交
1439

1440
  ```js
J
jiangkai43 已提交
1441 1442 1443
let pro = new util.LRUCache();
pro.put(2,10);
let result = pro.remove(20);
Z
zengyawen 已提交
1444 1445 1446
  ```


J
jiangkai43 已提交
1447
### afterRemoval<sup>9+</sup>
Z
zengyawen 已提交
1448

X
xdmal 已提交
1449
afterRemoval(isEvict: boolean,key: K,value: V,newValue: V): void
Z
zengyawen 已提交
1450 1451 1452

删除值后执行后续操作。

Z
zengyawen 已提交
1453 1454 1455
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1456

J
jiangkai43 已提交
1457 1458
| 参数名   | 类型    | 必填 | 说明                                                         |
| -------- | ------- | ---- | ------------------------------------------------------------ |
1459
| isEvict  | boolean | 是   | 因容量不足而调用该方法时,参数值为true,其他情况为false。    |
J
jiangkai43 已提交
1460 1461
| key      | K       | 是   | 表示删除的键。                                               |
| value    | V       | 是   | 表示删除的值。                                               |
1462
| newValue | V       | 是   | 如果已调用put方法并且要添加的键已经存在,则参数值是关联的新值。其他情况下参数值为空。 |
Z
zengyawen 已提交
1463

Z
zengyawen 已提交
1464
**示例:**
J
jiangkai43 已提交
1465

1466
  ```js
J
jiangkai43 已提交
1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483
let arr = [];
class ChildLruBuffer<K, V> extends util.LRUCache<K, V>
{
	constructor()
	{
		super();
	}
	afterRemoval(isEvict, key, value, newValue)
	{
		if (isEvict === false)
		{
			arr = [key, value, newValue];
		}
	}
}
let lru = new ChildLruBuffer();
lru.afterRemoval(false,10,30,null);
Z
zengyawen 已提交
1484 1485 1486
  ```


J
jiangkai43 已提交
1487
### contains<sup>9+</sup>
Z
zengyawen 已提交
1488

1489
contains(key: K): boolean
Z
zengyawen 已提交
1490 1491 1492

检查当前缓冲区是否包含指定的键。

Z
zengyawen 已提交
1493 1494 1495
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1496

1497 1498
| 参数名 | 类型   | 必填 | 说明             |
| ------ | ------ | ---- | ---------------- |
1499
| key    | K | 是   | 表示要检查的键。 |
J
jiangkai43 已提交
1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511

**返回值:**

| 类型    | 说明                                       |
| ------- | ------------------------------------------ |
| boolean | 如果缓冲区包含指定的键,则返回&nbsp;true。 |

**示例:**

  ```js
let pro = new util.LRUCache();
pro.put(2,10);
小马奔腾 已提交
1512 1513
let obj = {1:"key"};
let result = pro.contains(obj);
J
jiangkai43 已提交
1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588
  ```


### createDefault<sup>9+</sup>

createDefault(key: K): V

如果未计算特定键的值,则执行后续操作,参数表示丢失的键,返回与键关联的值。

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名 | 类型 | 必填 | 说明           |
| ------ | ---- | ---- | -------------- |
| key    | K    | 是   | 表示丢失的键。 |

**返回值:**

| 类型 | 说明               |
| ---- | ------------------ |
| V    | 返回与键关联的值。 |

**示例:**

  ```js
let pro = new util.LRUCache();
let result = pro.createDefault(50);
  ```


### entries<sup>9+</sup>

entries(): IterableIterator&lt;[K,V]&gt;

允许迭代包含在这个对象中的所有键值对。

**系统能力:** SystemCapability.Utils.Lang

**返回值:**

| 类型        | 说明                 |
| ----------- | -------------------- |
| [K,&nbsp;V] | 返回一个可迭代数组。 |

**示例:**

  ```js
let pro = new util.LRUCache();
pro.put(2,10);
let result = pro.entries();
  ```

### [Symbol.iterator]<sup>9+</sup>

[Symbol.iterator]\(): IterableIterator&lt;[K, V]&gt;

返回一个键值对形式的二维数组。

**系统能力:** SystemCapability.Utils.Lang

**返回值:**

| 类型        | 说明                           |
| ----------- | ------------------------------ |
| [K,&nbsp;V] | 返回一个键值对形式的二维数组。 |

**示例:**

  ```js
let pro = new util.LRUCache();
pro.put(2,10);
let result = pro[Symbol.iterator]();
  ```

1589 1590 1591 1592 1593 1594
## ScopeComparable<sup>8+</sup>

ScopeComparable类型的值需要实现compareTo方法,确保传入的数据具有可比性。

**系统能力:** SystemCapability.Utils.Lang

1595
### compareTo<sup>8+</sup>
1596

1597 1598 1599
compareTo(other: ScopeComparable): boolean;

比较两个值的大小,返回一个布尔值。
1600 1601 1602

**系统能力:** SystemCapability.Utils.Lang

1603 1604 1605 1606 1607
**参数:**

| 参数名 | 类型 | 必填 | 说明           |
| ------ | ---- | ---- | -------------- |
| other  | [ScopeComparable](#scopecomparable8) | 是  | 表示要比较的值。 |
1608

1609 1610 1611 1612 1613 1614 1615 1616 1617
**返回值:**

| 类型 | 说明               |
| ---- | ------------------ |
| boolean | 调用compareTo的值大于等于传入的值返回true,否则返回false。|

**示例:**

构造新类,实现compareTo方法。后续示例代码中,均以此Temperature类为例。
1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636

```js
class Temperature{
    constructor(value){
       // 当使用ts语言开发时,需要补充以下代码:
       // private readonly _temp: Temperature;
       this._temp = value;
    }
    compareTo(value){
       return this._temp >= value.getTemp();
    }
    getTemp(){
       return this._temp;
    }
    toString(){
       return this._temp.toString();
    }
}
```
J
jiangkai43 已提交
1637

1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648
## ScopeType<sup>8+</sup>

用于表示范围中的值的类型。

**系统能力:** SystemCapability.Utils.Lang

| 类型 | 说明 |
| -------- | -------- |
| number | 表示值的类型为数字。 |
| [ScopeComparable](#scopecomparable8) | 表示值的类型为ScopeComparable。|

1649
## ScopeHelper<sup>9+</sup>
J
jiangkai43 已提交
1650

1651
### constructor<sup>9+</sup>
J
jiangkai43 已提交
1652

1653
constructor(lowerObj: ScopeType, upperObj: ScopeType)
J
jiangkai43 已提交
1654

1655 1656 1657 1658 1659 1660 1661 1662 1663 1664
用于创建指定下限和上限的作用域实例的构造函数,返回一个ScopeHelper对象。

**系统能力:** SystemCapability.Utils.Lang

**参数:**

| 参数名   | 类型                     | 必填 | 说明                   |
| -------- | ------------------------ | ---- | ---------------------- |
| lowerObj | [ScopeType](#scopetype8) | 是   | 指定作用域实例的下限。 |
| upperObj | [ScopeType](#scopetype8) | 是   | 指定作用域实例的上限。 |
J
jiangkai43 已提交
1665 1666

**示例:**
1667

J
jiangkai43 已提交
1668
  ```js
1669 1670 1671
let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let range = new util.ScopeHelper(tempLower, tempUpper);
J
jiangkai43 已提交
1672 1673 1674
  ```


1675
### toString<sup>9+</sup>
J
jiangkai43 已提交
1676

1677
toString(): string
J
jiangkai43 已提交
1678

1679
该字符串化方法返回一个包含当前范围的字符串表示形式。
1680

J
jiangkai43 已提交
1681 1682
**系统能力:** SystemCapability.Utils.Lang

1683
**返回值:**
J
jiangkai43 已提交
1684

1685 1686 1687
| 类型   | 说明                                   |
| ------ | -------------------------------------- |
| string | 返回包含当前范围对象的字符串表示形式。 |
J
jiangkai43 已提交
1688 1689

**示例:**
1690

J
jiangkai43 已提交
1691
  ```js
1692 1693 1694 1695
let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let range = new util.ScopeHelper(tempLower, tempUpper);
let result = range.toString();
J
jiangkai43 已提交
1696 1697 1698
  ```


1699
### intersect<sup>9+</sup>
J
jiangkai43 已提交
1700

1701
intersect(range: ScopeHelper): ScopeHelper
J
jiangkai43 已提交
1702

1703
获取给定范围和当前范围的交集。
1704

J
jiangkai43 已提交
1705 1706 1707 1708
**系统能力:** SystemCapability.Utils.Lang

**参数:**

1709 1710 1711 1712 1713 1714 1715 1716 1717
| 参数名 | 类型                         | 必填 | 说明               |
| ------ | ---------------------------- | ---- | ------------------ |
| range  | [ScopeHelper](#scopehelper9) | 是   | 传入一个给定范围。 |

**返回值:**

| 类型                           | 说明                           |
| ------------------------------ | ------------------------------ |
| [ScopeHelper9+](#scopehelper9) | 返回给定范围和当前范围的交集。 |
J
jiangkai43 已提交
1718 1719

**示例:**
1720

J
jiangkai43 已提交
1721
  ```js
1722 1723 1724 1725 1726 1727
let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let range = new util.ScopeHelper(tempLower, tempUpper);
let tempMiDF = new Temperature(35);
let tempMidS = new Temperature(39);
let rangeFir = new util.ScopeHelper(tempMiDF, tempMidS);
1728
range.intersect(rangeFir);
J
jiangkai43 已提交
1729 1730 1731
  ```


1732
### intersect<sup>9+</sup>
J
jiangkai43 已提交
1733

1734
intersect(lowerObj:ScopeType,upperObj:ScopeType):ScopeHelper
J
jiangkai43 已提交
1735

1736
获取当前范围与给定下限和上限范围的交集。
1737

J
jiangkai43 已提交
1738 1739
**系统能力:** SystemCapability.Utils.Lang

1740 1741 1742 1743 1744 1745 1746
**参数:**

| 参数名   | 类型                     | 必填 | 说明             |
| -------- | ------------------------ | ---- | ---------------- |
| lowerObj | [ScopeType](#scopetype8) | 是   | 给定范围的下限。 |
| upperObj | [ScopeType](#scopetype8) | 是   | 给定范围的上限。 |

J
jiangkai43 已提交
1747 1748
**返回值:**

1749 1750 1751
| 类型                         | 说明                                     |
| ---------------------------- | ---------------------------------------- |
| [ScopeHelper](#scopehelper9) | 返回当前范围与给定下限和上限范围的交集。 |
J
jiangkai43 已提交
1752 1753

**示例:**
1754

J
jiangkai43 已提交
1755
  ```js
1756 1757 1758 1759 1760 1761
let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let tempMiDF = new Temperature(35);
let tempMidS = new Temperature(39);
let range = new util.ScopeHelper(tempLower, tempUpper);
let result = range.intersect(tempMiDF, tempMidS);
J
jiangkai43 已提交
1762 1763 1764
  ```


1765
### getUpper<sup>9+</sup>
J
jiangkai43 已提交
1766

1767
getUpper(): ScopeType
J
jiangkai43 已提交
1768

1769
获取当前范围的上限。
1770

J
jiangkai43 已提交
1771 1772 1773 1774
**系统能力:** SystemCapability.Utils.Lang

**返回值:**

1775 1776 1777
| 类型                     | 说明                   |
| ------------------------ | ---------------------- |
| [ScopeType](#scopetype8) | 返回当前范围的上限值。 |
J
jiangkai43 已提交
1778 1779

**示例:**
1780

J
jiangkai43 已提交
1781
  ```js
1782 1783 1784 1785
let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let range = new util.ScopeHelper(tempLower, tempUpper);
let result = range.getUpper();
J
jiangkai43 已提交
1786 1787 1788
  ```


1789
### getLower<sup>9+</sup>
J
jiangkai43 已提交
1790

1791
getLower(): ScopeType
J
jiangkai43 已提交
1792

1793
获取当前范围的下限。
1794

J
jiangkai43 已提交
1795 1796
**系统能力:** SystemCapability.Utils.Lang

1797 1798 1799 1800 1801 1802
**返回值:**

| 类型                     | 说明                   |
| ------------------------ | ---------------------- |
| [ScopeType](#scopetype8) | 返回当前范围的下限值。 |

J
jiangkai43 已提交
1803
**示例:**
1804

J
jiangkai43 已提交
1805
  ```js
1806 1807 1808 1809
let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let range = new util.ScopeHelper(tempLower, tempUpper);
let result = range.getLower();
J
jiangkai43 已提交
1810 1811 1812
  ```


1813
### expand<sup>9+</sup>
J
jiangkai43 已提交
1814

1815
expand(lowerObj: ScopeType,upperObj: ScopeType): ScopeHelper
J
jiangkai43 已提交
1816

1817
创建并返回包括当前范围和给定下限和上限的并集。
1818

J
jiangkai43 已提交
1819 1820
**系统能力:** SystemCapability.Utils.Lang

1821 1822 1823 1824 1825 1826 1827
**参数:**

| 参数名   | 类型                     | 必填 | 说明             |
| -------- | ------------------------ | ---- | ---------------- |
| lowerObj | [ScopeType](#scopetype8) | 是   | 给定范围的下限。 |
| upperObj | [ScopeType](#scopetype8) | 是   | 给定范围的上限。 |

J
jiangkai43 已提交
1828 1829
**返回值:**

1830 1831 1832
| 类型                         | 说明                                 |
| ---------------------------- | ------------------------------------ |
| [ScopeHelper](#scopehelper9) | 返回当前范围和给定下限和上限的并集。 |
J
jiangkai43 已提交
1833 1834

**示例:**
1835

J
jiangkai43 已提交
1836
  ```js
1837 1838 1839 1840 1841 1842
let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let tempMiDF = new Temperature(35);
let tempMidS = new Temperature(39);
let range = new util.ScopeHelper(tempLower, tempUpper);
let result = range.expand(tempMiDF, tempMidS);
J
jiangkai43 已提交
1843 1844 1845
  ```


1846
### expand<sup>9+</sup>
J
jiangkai43 已提交
1847

1848
expand(range: ScopeHelper): ScopeHelper
J
jiangkai43 已提交
1849

1850
创建并返回包括当前范围和给定范围的并集。
1851

J
jiangkai43 已提交
1852 1853
**系统能力:** SystemCapability.Utils.Lang

1854 1855 1856 1857 1858 1859
**参数:**

| 参数名 | 类型                         | 必填 | 说明               |
| ------ | ---------------------------- | ---- | ------------------ |
| range  | [ScopeHelper](#scopehelper9) | 是   | 传入一个给定范围。 |

J
jiangkai43 已提交
1860 1861
**返回值:**

1862 1863 1864
| 类型                         | 说明                               |
| ---------------------------- | ---------------------------------- |
| [ScopeHelper](#scopehelper9) | 返回包括当前范围和给定范围的并集。 |
J
jiangkai43 已提交
1865 1866

**示例:**
1867

J
jiangkai43 已提交
1868
  ```js
1869 1870 1871 1872 1873 1874 1875
let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let tempMiDF = new Temperature(35);
let tempMidS = new Temperature(39);
let range = new util.ScopeHelper(tempLower, tempUpper);
let rangeFir = new util.ScopeHelper(tempMiDF, tempMidS);
let result = range.expand(rangeFir);
J
jiangkai43 已提交
1876 1877 1878
  ```


1879
### expand<sup>9+</sup>
J
jiangkai43 已提交
1880

1881
expand(value: ScopeType): ScopeHelper
J
jiangkai43 已提交
1882

1883
创建并返回包括当前范围和给定值的并集。
1884

J
jiangkai43 已提交
1885 1886
**系统能力:** SystemCapability.Utils.Lang

1887 1888 1889 1890 1891 1892
**参数:**

| 参数名 | 类型                     | 必填 | 说明             |
| ------ | ------------------------ | ---- | ---------------- |
| value  | [ScopeType](#scopetype8) | 是   | 传入一个给定值。 |

J
jiangkai43 已提交
1893 1894
**返回值:**

1895 1896 1897
| 类型                         | 说明                             |
| ---------------------------- | -------------------------------- |
| [ScopeHelper](#scopehelper9) | 返回包括当前范围和给定值的并集。 |
J
jiangkai43 已提交
1898 1899

**示例:**
1900

J
jiangkai43 已提交
1901
  ```js
1902 1903 1904 1905 1906
let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let tempMiDF = new Temperature(35);
let range = new util.ScopeHelper(tempLower, tempUpper);
let result = range.expand(tempMiDF);
J
jiangkai43 已提交
1907 1908 1909
  ```


1910
### contains<sup>9+</sup>
J
jiangkai43 已提交
1911

1912
contains(value: ScopeType): boolean
J
jiangkai43 已提交
1913

1914
检查给定value是否包含在当前范围内。
1915

J
jiangkai43 已提交
1916 1917
**系统能力:** SystemCapability.Utils.Lang

1918 1919 1920 1921 1922 1923
**参数:**

| 参数名 | 类型                     | 必填 | 说明             |
| ------ | ------------------------ | ---- | ---------------- |
| value  | [ScopeType](#scopetype8) | 是   | 传入一个给定值。 |

J
jiangkai43 已提交
1924 1925
**返回值:**

1926 1927 1928
| 类型    | 说明                                                |
| ------- | --------------------------------------------------- |
| boolean | 如果给定值包含在当前范围内返回true,否则返回false。 |
J
jiangkai43 已提交
1929 1930

**示例:**
1931

J
jiangkai43 已提交
1932
  ```js
1933 1934 1935 1936 1937
let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let tempMiDF = new Temperature(35);
let range = new util.ScopeHelper(tempLower, tempUpper);
range.contains(tempMiDF);
J
jiangkai43 已提交
1938 1939 1940
  ```


1941
### contains<sup>9+</sup>
J
jiangkai43 已提交
1942

1943
contains(range: ScopeHelper): boolean
J
jiangkai43 已提交
1944

1945
检查给定range是否在当前范围内。
1946

J
jiangkai43 已提交
1947 1948
**系统能力:** SystemCapability.Utils.Lang

1949
**参数:**
J
jiangkai43 已提交
1950

1951 1952 1953 1954 1955 1956 1957 1958 1959
| 参数名 | 类型                         | 必填 | 说明               |
| ------ | ---------------------------- | ---- | ------------------ |
| range  | [ScopeHelper](#scopehelper9) | 是   | 传入一个给定范围。 |

**返回值:**

| 类型    | 说明                                                  |
| ------- | ----------------------------------------------------- |
| boolean | 如果给定范围包含在当前范围内返回true,否则返回false。 |
J
jiangkai43 已提交
1960 1961

**示例:**
1962

J
jiangkai43 已提交
1963
  ```js
1964 1965 1966 1967 1968 1969 1970
let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let range = new util.ScopeHelper(tempLower, tempUpper);
let tempLess = new Temperature(20);
let tempMore = new Temperature(45);
let rangeSec = new util.ScopeHelper(tempLess, tempMore);
let result = range.contains(rangeSec);
J
jiangkai43 已提交
1971 1972 1973
  ```


1974
### clamp<sup>9+</sup>
J
jiangkai43 已提交
1975

1976
clamp(value: ScopeType): ScopeType
J
jiangkai43 已提交
1977

1978
将给定值限定到当前范围内。
1979

J
jiangkai43 已提交
1980 1981
**系统能力:** SystemCapability.Utils.Lang

1982 1983 1984 1985 1986 1987
**参数:**

| 参数名 | 类型                     | 必填 | 说明           |
| ------ | ------------------------ | ---- | -------------- |
| value  | [ScopeType](#scopetype8) | 是   | 传入的给定值。 |

J
jiangkai43 已提交
1988 1989
**返回值:**

1990 1991 1992
| 类型                     | 说明                                                         |
| ------------------------ | ------------------------------------------------------------ |
| [ScopeType](#scopetype8) | 如果传入的value小于下限,则返回lowerObj;如果大于上限值则返回upperObj;如果在当前范围内,则返回value。 |
J
jiangkai43 已提交
1993 1994

**示例:**
1995

J
jiangkai43 已提交
1996
  ```js
1997 1998 1999 2000 2001
let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let tempMiDF = new Temperature(35);
let range = new util.ScopeHelper(tempLower, tempUpper);
let result = range.clamp(tempMiDF);
J
jiangkai43 已提交
2002 2003
  ```

2004
## Base64Helper<sup>9+</sup>
J
jiangkai43 已提交
2005

2006
### constructor<sup>9+</sup>
J
jiangkai43 已提交
2007

2008
constructor()
J
jiangkai43 已提交
2009

2010
Base64Helper的构造函数。
2011

J
jiangkai43 已提交
2012 2013 2014
**系统能力:** SystemCapability.Utils.Lang

**示例:**
2015

J
jiangkai43 已提交
2016
  ```js
2017
let base64 = new  util.Base64Helper();
J
jiangkai43 已提交
2018 2019
  ```

2020
### encodeSync<sup>9+</sup>
J
jiangkai43 已提交
2021

2022
encodeSync(src: Uint8Array): Uint8Array
J
jiangkai43 已提交
2023

2024
通过输入参数编码后输出对应文本。
2025

J
jiangkai43 已提交
2026 2027 2028 2029
**系统能力:** SystemCapability.Utils.Lang

**参数:**

2030 2031 2032
| 参数名 | 类型       | 必填 | 说明                |
| ------ | ---------- | ---- | ------------------- |
| src    | Uint8Array | 是   | 编码输入Uint8数组。 |
J
jiangkai43 已提交
2033 2034 2035

**返回值:**

2036 2037 2038
| 类型       | 说明                          |
| ---------- | ----------------------------- |
| Uint8Array | 返回编码后新分配的Uint8数组。 |
J
jiangkai43 已提交
2039 2040

**示例:**
2041

J
jiangkai43 已提交
2042
  ```js
2043 2044 2045
let that = new util.Base64Helper();
let array = new Uint8Array([115,49,51]);
let result = that.encodeSync(array);
J
jiangkai43 已提交
2046 2047 2048
  ```


2049
### encodeToStringSync<sup>9+</sup>
J
jiangkai43 已提交
2050

2051
encodeToStringSync(src: Uint8Array): string
2052

2053
通过输入参数编码后输出对应文本。
J
jiangkai43 已提交
2054 2055 2056

**系统能力:** SystemCapability.Utils.Lang

2057 2058 2059 2060 2061 2062
**参数:**

| 参数名 | 类型       | 必填 | 说明                |
| ------ | ---------- | ---- | ------------------- |
| src    | Uint8Array | 是   | 编码输入Uint8数组。 |

J
jiangkai43 已提交
2063 2064
**返回值:**

2065 2066 2067
| 类型   | 说明                 |
| ------ | -------------------- |
| string | 返回编码后的字符串。 |
J
jiangkai43 已提交
2068 2069

**示例:**
2070

J
jiangkai43 已提交
2071
  ```js
2072 2073 2074
let that = new util.Base64Helper();
let array = new Uint8Array([115,49,51]);
let result = that.encodeToStringSync(array);
J
jiangkai43 已提交
2075 2076 2077
  ```


2078
### decodeSync<sup>9+</sup>
J
jiangkai43 已提交
2079

2080
decodeSync(src: Uint8Array | string): Uint8Array
J
jiangkai43 已提交
2081

2082
通过输入参数解码后输出对应文本。
2083

J
jiangkai43 已提交
2084 2085
**系统能力:** SystemCapability.Utils.Lang

2086 2087 2088 2089 2090 2091
**参数:**

| 参数名 | 类型                           | 必填 | 说明                          |
| ------ | ------------------------------ | ---- | ----------------------------- |
| src    | Uint8Array&nbsp;\|&nbsp;string | 是   | 解码输入Uint8数组或者字符串。 |

J
jiangkai43 已提交
2092 2093
**返回值:**

2094 2095 2096
| 类型       | 说明                          |
| ---------- | ----------------------------- |
| Uint8Array | 返回解码后新分配的Uint8数组。 |
J
jiangkai43 已提交
2097 2098

**示例:**
2099

J
jiangkai43 已提交
2100
  ```js
2101 2102 2103
let that = new util.Base64Helper();
let buff = 'czEz';
let result = that.decodeSync(buff);
J
jiangkai43 已提交
2104 2105 2106
  ```


2107
### encode<sup>9+</sup>
J
jiangkai43 已提交
2108

2109
encode(src: Uint8Array): Promise&lt;Uint8Array&gt;
J
jiangkai43 已提交
2110

2111
通过输入参数异步编码后输出对应文本。
2112

J
jiangkai43 已提交
2113 2114 2115 2116
**系统能力:** SystemCapability.Utils.Lang

**参数:**

2117 2118 2119
| 参数名 | 类型       | 必填 | 说明                    |
| ------ | ---------- | ---- | ----------------------- |
| src    | Uint8Array | 是   | 异步编码输入Uint8数组。 |
J
jiangkai43 已提交
2120 2121 2122

**返回值:**

2123 2124 2125
| 类型                      | 说明                              |
| ------------------------- | --------------------------------- |
| Promise&lt;Uint8Array&gt; | 返回异步编码后新分配的Uint8数组。 |
J
jiangkai43 已提交
2126 2127

**示例:**
2128

J
jiangkai43 已提交
2129
  ```js
2130 2131 2132 2133 2134 2135 2136 2137
let that = new util.Base64Helper();
let array = new Uint8Array([115,49,51]);
let rarray = new Uint8Array([99,122,69,122]);
that.encode(array).then(val=>{    
    for (var i = 0; i < rarray.length; i++) {        
        console.log(val[i].toString())
    }
})
J
jiangkai43 已提交
2138 2139 2140
  ```


2141
### encodeToString<sup>9+</sup>
J
jiangkai43 已提交
2142

2143
encodeToString(src: Uint8Array): Promise&lt;string&gt;
J
jiangkai43 已提交
2144

2145
通过输入参数异步编码后输出对应文本。
2146

J
jiangkai43 已提交
2147 2148 2149 2150
**系统能力:** SystemCapability.Utils.Lang

**参数:**

2151 2152 2153 2154 2155 2156 2157 2158 2159
| 参数名 | 类型       | 必填 | 说明                    |
| ------ | ---------- | ---- | ----------------------- |
| src    | Uint8Array | 是   | 异步编码输入Uint8数组。 |

**返回值:**

| 类型                  | 说明                     |
| --------------------- | ------------------------ |
| Promise&lt;string&gt; | 返回异步编码后的字符串。 |
J
jiangkai43 已提交
2160 2161

**示例:**
2162

J
jiangkai43 已提交
2163
  ```js
2164 2165 2166 2167 2168
let that = new util.Base64Helper();
let array = new Uint8Array([115,49,51]);
that.encodeToString(array).then(val=>{    
    console.log(val)
})
J
jiangkai43 已提交
2169 2170 2171
  ```


2172
### decode<sup>9+</sup>
J
jiangkai43 已提交
2173

2174
decode(src: Uint8Array | string): Promise&lt;Uint8Array&gt;
2175

2176
通过输入参数异步解码后输出对应文本。
2177

J
jiangkai43 已提交
2178 2179 2180 2181
**系统能力:** SystemCapability.Utils.Lang

**参数:**

2182 2183 2184
| 参数名 | 类型                           | 必填 | 说明                              |
| ------ | ------------------------------ | ---- | --------------------------------- |
| src    | Uint8Array&nbsp;\|&nbsp;string | 是   | 异步解码输入Uint8数组或者字符串。 |
J
jiangkai43 已提交
2185 2186 2187

**返回值:**

2188 2189 2190
| 类型                      | 说明                              |
| ------------------------- | --------------------------------- |
| Promise&lt;Uint8Array&gt; | 返回异步解码后新分配的Uint8数组。 |
J
jiangkai43 已提交
2191 2192

**示例:**
2193

J
jiangkai43 已提交
2194
  ```js
2195 2196 2197 2198 2199 2200 2201 2202
let that = new util.Base64Helper();
let array = new Uint8Array([99,122,69,122]);
let rarray = new Uint8Array([115,49,51]);
that.decode(array).then(val=>{    
    for (var i = 0; i < rarray.length; i++) {        
        console.log(val[i].toString())
    }
})
J
jiangkai43 已提交
2203 2204
  ```

2205
## types<sup>8+</sup>
2206

2207
### constructor<sup>8+</sup>
J
jiangkai43 已提交
2208

2209
constructor()
J
jiangkai43 已提交
2210

2211
Types的构造函数。
J
jiangkai43 已提交
2212

2213
**系统能力:** SystemCapability.Utils.Lang
J
jiangkai43 已提交
2214 2215

**示例:**
2216

J
jiangkai43 已提交
2217
  ```js
2218
  let type = new util.types();
J
jiangkai43 已提交
2219 2220 2221
  ```


2222
### isAnyArrayBuffer<sup>8+</sup>
J
jiangkai43 已提交
2223

2224
isAnyArrayBuffer(value: Object): boolean
J
jiangkai43 已提交
2225

2226
检查输入的value是否是ArrayBuffer类型。
2227

J
jiangkai43 已提交
2228 2229
**系统能力:** SystemCapability.Utils.Lang

2230 2231 2232 2233 2234 2235
**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |

J
jiangkai43 已提交
2236 2237 2238 2239
**返回值:**

| 类型 | 说明 |
| -------- | -------- |
2240
| boolean | 判断的结果,如果是ArrayBuffer类型为true,反之为false。 |
J
jiangkai43 已提交
2241 2242

**示例:**
2243

J
jiangkai43 已提交
2244
  ```js
2245 2246
  let that = new util.types();
  let result = that.isAnyArrayBuffer(new ArrayBuffer(0));
J
jiangkai43 已提交
2247 2248 2249
  ```


2250
### isArrayBufferView<sup>8+</sup>
J
jiangkai43 已提交
2251

2252
isArrayBufferView(value: Object): boolean
J
jiangkai43 已提交
2253

2254 2255 2256
检查输入的value是否是内置ArrayBufferView辅助类型。

ArrayBufferView辅助类型包括:Int8Array、Int16Array、Int32Array、Uint8Array、Uint8ClampedArray、Uint32Array、Float32Array、Float64Array、DataView。
2257

J
jiangkai43 已提交
2258 2259
**系统能力:** SystemCapability.Utils.Lang

2260 2261 2262 2263 2264 2265
**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |

J
jiangkai43 已提交
2266 2267 2268 2269
**返回值:**

| 类型 | 说明 |
| -------- | -------- |
2270
| boolean | 判断的结果,如果是内置包含的ArrayBufferView辅助类型为true,反之为false。 |
J
jiangkai43 已提交
2271 2272

**示例:**
2273

J
jiangkai43 已提交
2274
  ```js
2275 2276
  let that = new util.types();
  let result = that.isArrayBufferView(new Int8Array([]));
J
jiangkai43 已提交
2277 2278 2279
  ```


2280
### isArgumentsObject<sup>8+</sup>
J
jiangkai43 已提交
2281

2282
isArgumentsObject(value: Object): boolean
J
jiangkai43 已提交
2283

2284
检查输入的value是否是一个arguments对象类型。
J
jiangkai43 已提交
2285 2286 2287 2288 2289

**系统能力:** SystemCapability.Utils.Lang

**参数:**

2290 2291 2292 2293 2294 2295 2296 2297 2298
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的arguments类型为true,反之为false。 |
J
jiangkai43 已提交
2299 2300 2301 2302

**示例:**

  ```js
2303 2304 2305 2306 2307
  let that = new util.types();
  function foo() {
      var result = that.isArgumentsObject(arguments);
  }
  let f = foo();
J
jiangkai43 已提交
2308 2309 2310
  ```


2311
### isArrayBuffer<sup>8+</sup>
J
jiangkai43 已提交
2312

2313
isArrayBuffer(value: Object): boolean
J
jiangkai43 已提交
2314

2315
检查输入的value是否是ArrayBuffer类型。
J
jiangkai43 已提交
2316 2317 2318

**系统能力:** SystemCapability.Utils.Lang

2319 2320 2321 2322 2323 2324
**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |

J
jiangkai43 已提交
2325 2326
**返回值:**

2327 2328 2329
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的ArrayBuffer类型为true,反之为false。 |
J
jiangkai43 已提交
2330 2331 2332 2333

**示例:**

  ```js
2334 2335
  let that = new util.types();
  let result = that.isArrayBuffer(new ArrayBuffer(0));
J
jiangkai43 已提交
2336 2337 2338
  ```


2339
### isAsyncFunction<sup>8+</sup>
J
jiangkai43 已提交
2340

2341
isAsyncFunction(value: Object): boolean
J
jiangkai43 已提交
2342

2343
检查输入的value是否是一个异步函数类型。
J
jiangkai43 已提交
2344 2345 2346 2347 2348

**系统能力:** SystemCapability.Utils.Lang

**参数:**

2349 2350 2351
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
J
jiangkai43 已提交
2352 2353 2354

**返回值:**

2355 2356 2357
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的异步函数类型为true,反之为false。 |
J
jiangkai43 已提交
2358 2359 2360 2361

**示例:**

  ```js
2362 2363
  let that = new util.types();
  let result = that.isAsyncFunction(async function foo() {});
J
jiangkai43 已提交
2364 2365 2366
  ```


2367
### isBooleanObject<sup>8+</sup>
J
jiangkai43 已提交
2368

2369
isBooleanObject(value: Object): boolean
J
jiangkai43 已提交
2370

2371
检查输入的value是否是一个Boolean对象类型。
J
jiangkai43 已提交
2372 2373 2374 2375 2376

**系统能力:** SystemCapability.Utils.Lang

**参数:**

2377 2378 2379
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
J
jiangkai43 已提交
2380 2381 2382

**返回值:**

2383 2384 2385
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Boolean对象类型为true,反之为false。 |
J
jiangkai43 已提交
2386 2387 2388 2389

**示例:**

  ```js
2390 2391
  let that = new util.types();
  let result = that.isBooleanObject(new Boolean(true));
J
jiangkai43 已提交
2392 2393 2394
  ```


2395
### isBoxedPrimitive<sup>8+</sup>
J
jiangkai43 已提交
2396

2397
isBoxedPrimitive(value: Object): boolean
J
jiangkai43 已提交
2398

2399
检查输入的value是否是Boolean或Number或String或Symbol对象类型。
J
jiangkai43 已提交
2400 2401 2402

**系统能力:** SystemCapability.Utils.Lang

2403 2404 2405 2406 2407 2408
**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |

J
jiangkai43 已提交
2409 2410
**返回值:**

2411 2412 2413
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Boolean或Number或String或Symbol对象类型为true,反之为false。 |
J
jiangkai43 已提交
2414 2415 2416 2417

**示例:**

  ```js
2418 2419
  let that = new util.types();
  let result = that.isBoxedPrimitive(new Boolean(false));
J
jiangkai43 已提交
2420 2421 2422
  ```


2423
### isDataView<sup>8+</sup>
J
jiangkai43 已提交
2424

2425
isDataView(value: Object): boolean
J
jiangkai43 已提交
2426

2427
检查输入的value是否是DataView类型。
J
jiangkai43 已提交
2428 2429 2430

**系统能力:** SystemCapability.Utils.Lang

2431 2432 2433 2434 2435 2436
**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |

J
jiangkai43 已提交
2437 2438
**返回值:**

2439 2440 2441
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的DataView对象类型为true,反之为false。 |
J
jiangkai43 已提交
2442 2443 2444 2445

**示例:**

  ```js
2446 2447 2448
  let that = new util.types();
  const ab = new ArrayBuffer(20);
  let result = that.isDataView(new DataView(ab));
J
jiangkai43 已提交
2449 2450 2451
  ```


2452
### isDate<sup>8+</sup>
J
jiangkai43 已提交
2453

2454
isDate(value: Object): boolean
J
jiangkai43 已提交
2455

2456
检查输入的value是否是Date类型。
J
jiangkai43 已提交
2457 2458 2459 2460 2461

**系统能力:** SystemCapability.Utils.Lang

**参数:**

2462 2463 2464
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
J
jiangkai43 已提交
2465 2466 2467

**返回值:**

2468 2469 2470
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Date对象类型为true,反之为false。 |
J
jiangkai43 已提交
2471 2472 2473 2474

**示例:**

  ```js
2475 2476
  let that = new util.types();
  let result = that.isDate(new Date());
J
jiangkai43 已提交
2477 2478 2479
  ```


2480
### isExternal<sup>8+</sup>
J
jiangkai43 已提交
2481

2482
isExternal(value: Object): boolean
J
jiangkai43 已提交
2483

2484
检查输入的value是否是native External类型。
J
jiangkai43 已提交
2485 2486 2487 2488 2489

**系统能力:** SystemCapability.Utils.Lang

**参数:**

2490 2491 2492
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2493

Z
zengyawen 已提交
2494
**返回值:**
2495

2496 2497 2498
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含native&nbsp;External类型为true,反之为false。 |
Z
zengyawen 已提交
2499

Z
zengyawen 已提交
2500
**示例:**
J
jiangkai43 已提交
2501

2502
  ```js
2503 2504
  let that = new util.types();
  let result = that.isExternal(true);
Z
zengyawen 已提交
2505 2506 2507
  ```


2508
### isFloat32Array<sup>8+</sup>
Z
zengyawen 已提交
2509

2510
isFloat32Array(value: Object): boolean
Z
zengyawen 已提交
2511

2512
检查输入的value是否是Float32Array数组类型。
Z
zengyawen 已提交
2513

Z
zengyawen 已提交
2514 2515 2516
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2517

2518 2519 2520
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2521

Z
zengyawen 已提交
2522
**返回值:**
2523

2524 2525 2526
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Float32Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2527

Z
zengyawen 已提交
2528
**示例:**
J
jiangkai43 已提交
2529

2530
  ```js
2531 2532
  let that = new util.types();
  let result = that.isFloat32Array(new Float32Array());
Z
zengyawen 已提交
2533 2534 2535
  ```


2536
### isFloat64Array<sup>8+</sup>
Z
zengyawen 已提交
2537

2538
isFloat64Array(value: Object): boolean
Z
zengyawen 已提交
2539

2540
检查输入的value是否是Float64Array数组类型。
Z
zengyawen 已提交
2541

Z
zengyawen 已提交
2542 2543
**系统能力:** SystemCapability.Utils.Lang

J
jiangkai43 已提交
2544 2545
**参数:**

2546 2547 2548
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
J
jiangkai43 已提交
2549

Z
zengyawen 已提交
2550
**返回值:**
2551

2552 2553 2554
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Float64Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2555

Z
zengyawen 已提交
2556
**示例:**
J
jiangkai43 已提交
2557

2558
  ```js
2559 2560
  let that = new util.types();
  let result = that.isFloat64Array(new Float64Array());
Z
zengyawen 已提交
2561 2562 2563
  ```


2564
### isGeneratorFunction<sup>8+</sup>
Z
zengyawen 已提交
2565

2566
isGeneratorFunction(value: Object): boolean
Z
zengyawen 已提交
2567

2568
检查输入的value是否是generator函数类型。
Z
zengyawen 已提交
2569

Z
zengyawen 已提交
2570 2571
**系统能力:** SystemCapability.Utils.Lang

J
jiangkai43 已提交
2572 2573
**参数:**

2574 2575 2576
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
J
jiangkai43 已提交
2577

Z
zengyawen 已提交
2578
**返回值:**
2579

2580 2581 2582
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的generator函数类型为true,反之为false。 |
Z
zengyawen 已提交
2583

Z
zengyawen 已提交
2584
**示例:**
J
jiangkai43 已提交
2585

2586
  ```js
2587 2588
  let that = new util.types();
  let result = that.isGeneratorFunction(function* foo() {});
Z
zengyawen 已提交
2589 2590 2591
  ```


2592
### isGeneratorObject<sup>8+</sup>
Z
zengyawen 已提交
2593

2594
isGeneratorObject(value: Object): boolean
Z
zengyawen 已提交
2595

2596
检查输入的value是否是generator对象类型。
Z
zengyawen 已提交
2597

J
jiangkai43 已提交
2598
**系统能力:** SystemCapability.Utils.Lang
Z
zengyawen 已提交
2599

J
jiangkai43 已提交
2600
**参数:**
Z
zengyawen 已提交
2601

2602 2603 2604
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2605

J
jiangkai43 已提交
2606
**返回值:**
Z
zengyawen 已提交
2607

2608 2609 2610
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的generator对象类型为true,反之为false。 |
Z
zengyawen 已提交
2611

J
jiangkai43 已提交
2612
**示例:**
Z
zengyawen 已提交
2613

J
jiangkai43 已提交
2614
  ```js
2615 2616 2617 2618
  let that = new util.types();
  function* foo() {}
  const generator = foo();
  let result = that.isGeneratorObject(generator);
J
jiangkai43 已提交
2619
  ```
Z
zengyawen 已提交
2620 2621


2622
### isInt8Array<sup>8+</sup>
Z
zengyawen 已提交
2623

2624
isInt8Array(value: Object): boolean
2625

2626
检查输入的value是否是Int8Array数组类型。
2627

Z
zengyawen 已提交
2628 2629 2630
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2631

2632 2633
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
2634 2635 2636 2637 2638 2639 2640
| value | Object | 是 | 待检测对象。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Int8Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2641

Z
zengyawen 已提交
2642
**示例:**
2643

2644
  ```js
2645 2646
  let that = new util.types();
  let result = that.isInt8Array(new Int8Array([]));
Z
zengyawen 已提交
2647 2648 2649
  ```


2650
### isInt16Array<sup>8+</sup>
Z
zengyawen 已提交
2651

2652
isInt16Array(value: Object): boolean
Z
zengyawen 已提交
2653

2654
检查输入的value是否是Int16Array数组类型。
2655

Z
zengyawen 已提交
2656 2657
**系统能力:** SystemCapability.Utils.Lang

2658 2659 2660 2661 2662 2663
**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |

Z
zengyawen 已提交
2664
**返回值:**
2665

2666 2667
| 类型 | 说明 |
| -------- | -------- |
2668
| boolean | 判断的结果,如果是内置包含的Int16Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2669

Z
zengyawen 已提交
2670
**示例:**
2671

2672
  ```js
2673 2674
  let that = new util.types();
  let result = that.isInt16Array(new Int16Array([]));
Z
zengyawen 已提交
2675 2676 2677
  ```


2678
### isInt32Array<sup>8+</sup>
Z
zengyawen 已提交
2679

2680
isInt32Array(value: Object): boolean
Z
zengyawen 已提交
2681

2682
检查输入的value是否是Int32Array数组类型。
2683

Z
zengyawen 已提交
2684 2685 2686
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2687

2688 2689
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
2690
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2691

Z
zengyawen 已提交
2692
**返回值:**
2693

2694 2695
| 类型 | 说明 |
| -------- | -------- |
2696
| boolean | 判断的结果,如果是内置包含的Int32Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2697

Z
zengyawen 已提交
2698
**示例:**
J
jiangkai43 已提交
2699

2700
  ```js
2701 2702
  let that = new util.types();
  let result = that.isInt32Array(new Int32Array([]));
Z
zengyawen 已提交
2703 2704 2705
  ```


2706
### isMap<sup>8+</sup>
Z
zengyawen 已提交
2707

2708
isMap(value: Object): boolean
Z
zengyawen 已提交
2709

2710
检查输入的value是否是Map类型。
2711

Z
zengyawen 已提交
2712 2713 2714
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2715

2716 2717
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
2718
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2719

Z
zengyawen 已提交
2720
**返回值:**
2721

2722 2723
| 类型 | 说明 |
| -------- | -------- |
2724
| boolean | 判断的结果,如果是内置包含的Map类型为true,反之为false。 |
Z
zengyawen 已提交
2725

Z
zengyawen 已提交
2726
**示例:**
2727

2728
  ```js
2729 2730
  let that = new util.types();
  let result = that.isMap(new Map());
Z
zengyawen 已提交
2731 2732 2733
  ```


2734
### isMapIterator<sup>8+</sup>
Z
zengyawen 已提交
2735

2736
isMapIterator(value: Object): boolean
Z
zengyawen 已提交
2737

2738
检查输入的value是否是Map的Iterator类型。
2739

Z
zengyawen 已提交
2740 2741
**系统能力:** SystemCapability.Utils.Lang

2742 2743 2744 2745 2746 2747 2748
**参数:**


| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |

Z
zengyawen 已提交
2749 2750
**返回值:**

2751 2752
| 类型 | 说明 |
| -------- | -------- |
2753
| boolean | 判断的结果,如果是内置包含的Map的Iterator类型为true,反之为false。 |
Z
zengyawen 已提交
2754

Z
zengyawen 已提交
2755
**示例:**
2756

2757
  ```js
2758 2759 2760
  let that = new util.types();
  const map = new Map();
  let result = that.isMapIterator(map.keys());
Z
zengyawen 已提交
2761 2762 2763
  ```


2764
### isNativeError<sup>8+</sup>
Z
zengyawen 已提交
2765

2766
isNativeError(value: Object): boolean
Z
zengyawen 已提交
2767

2768
检查输入的value是否是Error类型。
2769

Z
zengyawen 已提交
2770 2771
**系统能力:** SystemCapability.Utils.Lang

2772 2773 2774 2775 2776 2777
**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |

Z
zengyawen 已提交
2778
**返回值:**
2779

2780 2781
| 类型 | 说明 |
| -------- | -------- |
2782
| boolean | 判断的结果,如果是内置包含的Error类型为true,反之为false。 |
Z
zengyawen 已提交
2783

Z
zengyawen 已提交
2784
**示例:**
2785

2786
  ```js
2787 2788
  let that = new util.types();
  let result = that.isNativeError(new TypeError());
Z
zengyawen 已提交
2789 2790 2791
  ```


2792
### isNumberObject<sup>8+</sup>
Z
zengyawen 已提交
2793

2794
isNumberObject(value: Object): boolean
Z
zengyawen 已提交
2795

2796
检查输入的value是否是Number对象类型。
2797

Z
zengyawen 已提交
2798 2799 2800
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2801

2802 2803
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
2804
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2805

Z
zengyawen 已提交
2806
**返回值:**
2807

2808 2809
| 类型 | 说明 |
| -------- | -------- |
2810
| boolean | 判断的结果,如果是内置包含的Number对象类型为true,反之为false。 |
Z
zengyawen 已提交
2811

Z
zengyawen 已提交
2812
**示例:**
2813 2814

  ```js
2815 2816
  let that = new util.types();
  let result = that.isNumberObject(new Number(0));
Z
zengyawen 已提交
2817 2818 2819
  ```


2820
### isPromise<sup>8+</sup>
Z
zengyawen 已提交
2821

2822
isPromise(value: Object): boolean
Z
zengyawen 已提交
2823

2824
检查输入的value是否是Promise类型。
2825

Z
zengyawen 已提交
2826 2827 2828
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2829

2830 2831
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
2832
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2833

Z
zengyawen 已提交
2834
**返回值:**
2835

2836 2837
| 类型 | 说明 |
| -------- | -------- |
2838
| boolean | 判断的结果,如果是内置包含的Promise类型为true,反之为false。 |
Z
zengyawen 已提交
2839

Z
zengyawen 已提交
2840
**示例:**
2841

2842
  ```js
2843 2844
  let that = new util.types();
  let result = that.isPromise(Promise.resolve(1));
Z
zengyawen 已提交
2845 2846 2847
  ```


2848
### isProxy<sup>8+</sup>
Z
zengyawen 已提交
2849

2850
isProxy(value: Object): boolean
Z
zengyawen 已提交
2851

2852
检查输入的value是否是Proxy类型。
2853

Z
zengyawen 已提交
2854 2855 2856
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2857

2858 2859
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
2860
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2861

Z
zengyawen 已提交
2862
**返回值:**
2863

2864 2865
| 类型 | 说明 |
| -------- | -------- |
2866
| boolean | 判断的结果,如果是内置包含的Proxy类型为true,反之为false。 |
Z
zengyawen 已提交
2867

Z
zengyawen 已提交
2868
**示例:**
2869

2870
  ```js
2871 2872 2873 2874
  let that = new util.types();
  const target = {};
  const proxy = new Proxy(target, {});
  let result = that.isProxy(proxy);
Z
zengyawen 已提交
2875 2876 2877
  ```


2878
### isRegExp<sup>8+</sup>
Z
zengyawen 已提交
2879

2880
isRegExp(value: Object): boolean
Z
zengyawen 已提交
2881

2882
检查输入的value是否是RegExp类型。
2883

Z
zengyawen 已提交
2884 2885 2886
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2887

2888 2889
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
2890
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2891

Z
zengyawen 已提交
2892
**返回值:**
2893

2894 2895
| 类型 | 说明 |
| -------- | -------- |
2896
| boolean | 判断的结果,如果是内置包含的RegExp类型为true,反之为false。 |
Z
zengyawen 已提交
2897

Z
zengyawen 已提交
2898
**示例:**
2899

2900
  ```js
2901 2902
  let that = new util.types();
  let result = that.isRegExp(new RegExp('abc'));
Z
zengyawen 已提交
2903 2904 2905
  ```


2906
### isSet<sup>8+</sup>
Z
zengyawen 已提交
2907

2908
isSet(value: Object): boolean
Z
zengyawen 已提交
2909

2910
检查输入的value是否是Set类型。
2911

Z
zengyawen 已提交
2912 2913 2914
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2915

2916 2917
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
2918
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2919

Z
zengyawen 已提交
2920
**返回值:**
2921

2922 2923
| 类型 | 说明 |
| -------- | -------- |
2924
| boolean | 判断的结果,如果是内置包含的Set类型为true,反之为false。 |
Z
zengyawen 已提交
2925

Z
zengyawen 已提交
2926
**示例:**
J
jiangkai43 已提交
2927

2928
  ```js
2929 2930
  let that = new util.types();
  let result = that.isSet(new Set());
Z
zengyawen 已提交
2931 2932 2933
  ```


2934
### isSetIterator<sup>8+</sup>
Z
zengyawen 已提交
2935

2936
isSetIterator(value: Object): boolean
Z
zengyawen 已提交
2937

2938
检查输入的value是否是Set的Iterator类型。
2939

Z
zengyawen 已提交
2940 2941 2942
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2943

2944 2945
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
2946
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2947

Z
zengyawen 已提交
2948
**返回值:**
2949

2950 2951
| 类型 | 说明 |
| -------- | -------- |
2952
| boolean | 判断的结果,如果是内置包含的Set的Iterator类型为true,反之为false。 |
Z
zengyawen 已提交
2953

Z
zengyawen 已提交
2954
**示例:**
2955

2956
  ```js
2957 2958 2959
  let that = new util.types();
  const set = new Set();
  let result = that.isSetIterator(set.keys());
Z
zengyawen 已提交
2960 2961
  ```

J
jiangkai43 已提交
2962

2963
### isStringObject<sup>8+</sup>
J
jiangkai43 已提交
2964

2965
isStringObject(value: Object): boolean
J
jiangkai43 已提交
2966

2967
检查输入的value是否是String对象类型。
J
jiangkai43 已提交
2968 2969 2970 2971 2972

**系统能力:** SystemCapability.Utils.Lang

**参数:**

2973 2974 2975
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
J
jiangkai43 已提交
2976 2977 2978

**返回值:**

2979 2980 2981
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的String对象类型为true,反之为false。 |
J
jiangkai43 已提交
2982 2983 2984 2985

**示例:**

  ```js
2986 2987
  let that = new util.types();
  let result = that.isStringObject(new String('foo'));
J
jiangkai43 已提交
2988 2989 2990
  ```


2991
### isSymbolObjec<sup>8+</sup>
J
jiangkai43 已提交
2992

2993
isSymbolObject(value: Object): boolean
J
jiangkai43 已提交
2994

2995
检查输入的value是否是Symbol对象类型。
J
jiangkai43 已提交
2996 2997 2998 2999 3000

**系统能力:** SystemCapability.Utils.Lang

**参数:**

3001 3002 3003
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
J
jiangkai43 已提交
3004 3005 3006

**返回值:**

3007 3008 3009
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Symbol对象类型为true,反之为false。 |
J
jiangkai43 已提交
3010 3011 3012 3013

**示例:**

  ```js
3014 3015 3016
  let that = new util.types();
  const symbols = Symbol('foo');
  let result = that.isSymbolObject(Object(symbols));
J
jiangkai43 已提交
3017 3018 3019
  ```


3020
### isTypedArray<sup>8+</sup>
J
jiangkai43 已提交
3021

3022
isTypedArray(value: Object): boolean
J
jiangkai43 已提交
3023

3024 3025 3026
检查输入的value是否是TypedArray类型的辅助类型。

TypedArray类型的辅助类型,包括Int8Array、Int16Array、Int32Array、Uint8Array、Uint8ClampedArray、Uint16Array、Uint32Array、Float32Array、Float64Array、DataView。
J
jiangkai43 已提交
3027 3028 3029 3030 3031

**系统能力:** SystemCapability.Utils.Lang

**参数:**

3032 3033 3034
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
J
jiangkai43 已提交
3035 3036 3037

**返回值:**

3038 3039 3040
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的TypedArray包含的类型为true,反之为false。 |
J
jiangkai43 已提交
3041 3042 3043 3044

**示例:**

  ```js
3045 3046
  let that = new util.types();
  let result = that.isTypedArray(new Float64Array([]));
J
jiangkai43 已提交
3047 3048 3049
  ```


3050
### isUint8Array<sup>8+</sup>
J
jiangkai43 已提交
3051

3052
isUint8Array(value: Object): boolean
J
jiangkai43 已提交
3053

3054
检查输入的value是否是Uint8Array数组类型。
J
jiangkai43 已提交
3055 3056 3057 3058 3059

**系统能力:** SystemCapability.Utils.Lang

**参数:**

3060 3061 3062
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
J
jiangkai43 已提交
3063 3064 3065

**返回值:**

3066 3067 3068
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint8Array数组类型为true,反之为false。 |
J
jiangkai43 已提交
3069 3070 3071 3072

**示例:**

  ```js
3073 3074
  let that = new util.types();
  let result = that.isUint8Array(new Uint8Array([]));
J
jiangkai43 已提交
3075 3076 3077
  ```


3078
### isUint8ClampedArray<sup>8+</sup>
J
jiangkai43 已提交
3079

3080
isUint8ClampedArray(value: Object): boolean
J
jiangkai43 已提交
3081

3082
检查输入的value是否是Uint8ClampedArray数组类型。
J
jiangkai43 已提交
3083 3084 3085 3086 3087

**系统能力:** SystemCapability.Utils.Lang

**参数:**

3088 3089 3090
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
J
jiangkai43 已提交
3091 3092 3093

**返回值:**

3094 3095 3096
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint8ClampedArray数组类型为true,反之为false。 |
J
jiangkai43 已提交
3097 3098 3099 3100

**示例:**

  ```js
3101 3102
  let that = new util.types();
  let result = that.isUint8ClampedArray(new Uint8ClampedArray([]));
J
jiangkai43 已提交
3103 3104 3105
  ```


3106
### isUint16Array<sup>8+</sup>
J
jiangkai43 已提交
3107

3108
isUint16Array(value: Object): boolean
J
jiangkai43 已提交
3109

3110
检查输入的value是否是Uint16Array数组类型。
J
jiangkai43 已提交
3111 3112 3113 3114 3115

**系统能力:** SystemCapability.Utils.Lang

**参数:**

3116 3117 3118
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
J
jiangkai43 已提交
3119 3120 3121

**返回值:**

3122 3123 3124
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint16Array数组类型为true,反之为false。 |
J
jiangkai43 已提交
3125 3126 3127 3128

**示例:**

  ```js
3129 3130
  let that = new util.types();
  let result = that.isUint16Array(new Uint16Array([]));
J
jiangkai43 已提交
3131 3132 3133
  ```


3134
### isUint32Array<sup>8+</sup>
J
jiangkai43 已提交
3135

3136
isUint32Array(value: Object): boolean
J
jiangkai43 已提交
3137

3138
检查输入的value是否是Uint32Array数组类型。
Z
zengyawen 已提交
3139

3140
**系统能力:** SystemCapability.Utils.Lang
Z
zengyawen 已提交
3141

3142
**参数:**
Z
zengyawen 已提交
3143

3144 3145 3146
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
3147

3148 3149 3150 3151 3152
**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint32Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
3153 3154

**示例:**
3155

3156
  ```js
3157 3158
  let that = new util.types();
  let result = that.isUint32Array(new Uint32Array([]));
Z
zengyawen 已提交
3159 3160 3161
  ```


3162
### isWeakMap<sup>8+</sup>
Z
zengyawen 已提交
3163

3164
isWeakMap(value: Object): boolean
Z
zengyawen 已提交
3165

3166
检查输入的value是否是WeakMap类型。
3167

Z
zengyawen 已提交
3168 3169 3170
**系统能力:** SystemCapability.Utils.Lang

**参数:**
3171

3172 3173
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
3174
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
3175

Z
zengyawen 已提交
3176
**返回值:**
3177

3178 3179
| 类型 | 说明 |
| -------- | -------- |
3180
| boolean | 判断的结果,如果是内置包含的WeakMap类型为true,反之为false。 |
Z
zengyawen 已提交
3181

Z
zengyawen 已提交
3182
**示例:**
J
jiangkai43 已提交
3183

3184
  ```js
3185 3186
  let that = new util.types();
  let result = that.isWeakMap(new WeakMap());
Z
zengyawen 已提交
3187 3188 3189
  ```


3190
### isWeakSet<sup>8+</sup>
Z
zengyawen 已提交
3191

3192
isWeakSet(value: Object): boolean
Z
zengyawen 已提交
3193

3194
检查输入的value是否是WeakSet类型。
3195

Z
zengyawen 已提交
3196 3197 3198
**系统能力:** SystemCapability.Utils.Lang

**参数:**
3199

3200 3201
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
3202
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
3203

Z
zengyawen 已提交
3204
**返回值:**
3205

3206 3207
| 类型 | 说明 |
| -------- | -------- |
3208
| boolean | 判断的结果,如果是内置包含的WeakSet类型为true,反之为false。 |
Z
zengyawen 已提交
3209

Z
zengyawen 已提交
3210
**示例:**
3211

3212
  ```js
3213 3214
  let that = new util.types();
  let result = that.isWeakSet(new WeakSet());
Z
zengyawen 已提交
3215 3216 3217
  ```


3218
### isBigInt64Array<sup>8+</sup>
Z
zengyawen 已提交
3219

3220
isBigInt64Array(value: Object): boolean
Z
zengyawen 已提交
3221

3222
检查输入的value是否是BigInt64Array类型。
3223

Z
zengyawen 已提交
3224 3225 3226
**系统能力:** SystemCapability.Utils.Lang

**参数:**
3227

3228 3229
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
3230
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
3231

Z
zengyawen 已提交
3232
**返回值:**
3233

3234 3235
| 类型 | 说明 |
| -------- | -------- |
3236
| boolean | 判断的结果,如果是内置包含的BigInt64Array类型为true,反之为false。 |
Z
zengyawen 已提交
3237

Z
zengyawen 已提交
3238
**示例:**
3239

3240
  ```js
3241 3242
  let that = new util.types();
  let result = that.isBigInt64Array(new BigInt64Array([]));
Z
zengyawen 已提交
3243 3244 3245
  ```


3246
### isBigUint64Array<sup>8+</sup>
Z
zengyawen 已提交
3247

3248
isBigUint64Array(value: Object): boolean
Z
zengyawen 已提交
3249

3250
检查输入的value是否是BigUint64Array类型。
3251

Z
zengyawen 已提交
3252 3253 3254
**系统能力:** SystemCapability.Utils.Lang

**参数:**
3255

3256 3257
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
3258
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
3259

Z
zengyawen 已提交
3260
**返回值:**
3261

3262 3263
| 类型 | 说明 |
| -------- | -------- |
3264
| boolean | 判断的结果,如果是内置包含的BigUint64Array类型为true,反之为false。 |
Z
zengyawen 已提交
3265

Z
zengyawen 已提交
3266
**示例:**
3267

3268
  ```js
3269 3270
  let that = new util.types();
  let result = that.isBigUint64Array(new BigUint64Array([]));
Z
zengyawen 已提交
3271 3272 3273
  ```


3274
### isModuleNamespaceObject<sup>8+</sup>
Z
zengyawen 已提交
3275

3276
isModuleNamespaceObject(value: Object): boolean
Z
zengyawen 已提交
3277

3278
检查输入的value是否是Module Namespace Object类型。
3279

Z
zengyawen 已提交
3280 3281 3282
**系统能力:** SystemCapability.Utils.Lang

**参数:**
3283

3284 3285
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
3286
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
3287

Z
zengyawen 已提交
3288
**返回值:**
3289

3290 3291
| 类型 | 说明 |
| -------- | -------- |
3292
| boolean | 判断的结果,如果是内置包含的Module Namespace Object类型为true,反之为false。 |
Z
zengyawen 已提交
3293

Z
zengyawen 已提交
3294
**示例:**
3295

3296
  ```js
3297 3298 3299
  import url from '@ohos.url'
  let that = new util.types();
  let result = that.isModuleNamespaceObject(url);
Z
zengyawen 已提交
3300 3301 3302
  ```


3303
### isSharedArrayBuffer<sup>8+</sup>
Z
zengyawen 已提交
3304

3305
isSharedArrayBuffer(value: Object): boolean
Z
zengyawen 已提交
3306

3307
检查输入的value是否是SharedArrayBuffer类型。
3308

Z
zengyawen 已提交
3309 3310 3311
**系统能力:** SystemCapability.Utils.Lang

**参数:**
3312

3313 3314
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
3315
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
3316

Z
zengyawen 已提交
3317
**返回值:**
3318

3319 3320
| 类型 | 说明 |
| -------- | -------- |
3321
| boolean | 判断的结果,如果是内置包含的SharedArrayBuffer类型为true,反之为false。 |
Z
zengyawen 已提交
3322

Z
zengyawen 已提交
3323
**示例:**
3324

3325
  ```js
3326 3327
  let that = new util.types();
  let result = that.isSharedArrayBuffer(new SharedArrayBuffer(0));
Z
zengyawen 已提交
3328 3329
  ```

3330
## LruBuffer<sup>(deprecated)</sup>
Z
zengyawen 已提交
3331

3332 3333 3334
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache<sup>9+</sup>](#lrucache9)替代。
Z
zengyawen 已提交
3335

3336
### 属性
Z
zengyawen 已提交
3337

3338
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。
Z
zengyawen 已提交
3339

3340 3341 3342
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | 当前缓冲区中值的总数。 |
Z
zengyawen 已提交
3343 3344

**示例:**
3345

3346
  ```js
3347 3348 3349 3350
  let pro = new util.LruBuffer();
  pro.put(2,10);
  pro.put(1,8);
  let result = pro.length;
Z
zengyawen 已提交
3351 3352
  ```

3353
### constructor<sup>(deprecated)</sup>
Z
zengyawen 已提交
3354

3355
constructor(capacity?: number)
Z
zengyawen 已提交
3356

3357
默认构造函数用于创建一个新的LruBuffer实例,默认容量为64。
Z
zengyawen 已提交
3358

3359 3360 3361
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[constructor<sup>9+</sup>](#constructor9)替代。
Z
zengyawen 已提交
3362

Z
zengyawen 已提交
3363 3364 3365
**系统能力:** SystemCapability.Utils.Lang

**参数:**
3366

3367 3368
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
3369
| capacity | number | 否 | 指示要为缓冲区自定义的容量。 |
Z
zengyawen 已提交
3370

Z
zengyawen 已提交
3371
**示例:**
3372

3373
  ```js
3374
  let lrubuffer= new util.LruBuffer();
Z
zengyawen 已提交
3375 3376
  ```

3377
### updateCapacity<sup>(deprecated)</sup>
Z
zengyawen 已提交
3378

3379
updateCapacity(newCapacity: number): void
Z
zengyawen 已提交
3380

3381
将缓冲区容量更新为指定容量,如果newCapacity小于或等于0,则抛出异常。
Z
zengyawen 已提交
3382

3383 3384 3385
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[updateCapacity<sup>9+</sup>](#updatecapacity9)替代。
Z
zengyawen 已提交
3386

Z
zengyawen 已提交
3387 3388 3389
**系统能力:** SystemCapability.Utils.Lang

**参数:**
3390

3391 3392
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
3393
| newCapacity | number | 是 | 指示要为缓冲区自定义的容量。 |
Z
zengyawen 已提交
3394

Z
zengyawen 已提交
3395
**示例:**
3396

3397
  ```js
3398 3399
  let pro = new util.LruBuffer();
  let result = pro.updateCapacity(100);
Z
zengyawen 已提交
3400 3401
  ```

3402
### toString<sup>(deprecated)</sup>
Z
zengyawen 已提交
3403

3404
toString(): string
Z
zengyawen 已提交
3405

3406
返回对象的字符串表示形式。
Z
zengyawen 已提交
3407

3408 3409 3410
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[toString<sup>9+</sup>](#tostring9)替代。
Z
zengyawen 已提交
3411

Z
zengyawen 已提交
3412 3413 3414
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
3415

3416 3417
| 类型 | 说明 |
| -------- | -------- |
3418
| string | 返回对象的字符串表示形式。 |
Z
zengyawen 已提交
3419

Z
zengyawen 已提交
3420
**示例:**
3421

3422
  ```js
3423 3424 3425 3426 3427
  let pro = new util.LruBuffer();
  pro.put(2,10);
  pro.get(2);
  pro.remove(20);
  let result = pro.toString();
Z
zengyawen 已提交
3428 3429
  ```

3430
### getCapacity<sup>(deprecated)</sup>
Z
zengyawen 已提交
3431

3432
getCapacity(): number
Z
zengyawen 已提交
3433

3434
获取当前缓冲区的容量。
Z
zengyawen 已提交
3435

3436 3437 3438
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[getCapacity<sup>9+</sup>](#getcapacity9)替代。
Z
zengyawen 已提交
3439

Z
zengyawen 已提交
3440 3441 3442
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
3443

3444 3445
| 类型 | 说明 |
| -------- | -------- |
3446
| number | 返回当前缓冲区的容量。 |
Z
zengyawen 已提交
3447

Z
zengyawen 已提交
3448
**示例:**
3449
  ```js
3450 3451
  let pro = new util.LruBuffer();
  let result = pro.getCapacity();
Z
zengyawen 已提交
3452 3453
  ```

3454
### clear<sup>(deprecated)</sup>
Z
zengyawen 已提交
3455

3456
clear(): void
Z
zengyawen 已提交
3457

3458
从当前缓冲区清除键值对。后续会调用afterRemoval()方法执行后续操作。
Z
zengyawen 已提交
3459

3460 3461 3462
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[clear<sup>9+</sup>](#clear9)替代。
Z
zengyawen 已提交
3463

Z
zengyawen 已提交
3464 3465
**系统能力:** SystemCapability.Utils.Lang

3466
**示例:**
3467

3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485
  ```js
  let pro = new util.LruBuffer();
  pro.put(2,10);
  let result = pro.length;
  pro.clear();
  ```

### getCreateCount<sup>(deprecated)</sup>

getCreateCount(): number

获取createDefault()返回值的次数。

> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[getCreateCount<sup>9+</sup>](#getcreatecount9)替代。

**系统能力:** SystemCapability.Utils.Lang
Z
zengyawen 已提交
3486

Z
zengyawen 已提交
3487
**返回值:**
3488

3489 3490
| 类型 | 说明 |
| -------- | -------- |
3491
| number | 返回createDefault()返回值的次数。 |
Z
zengyawen 已提交
3492

Z
zengyawen 已提交
3493
**示例:**
3494

3495
  ```js
3496 3497 3498
  let pro = new util.LruBuffer();
  pro.put(1,8);
  let result = pro.getCreateCount();
Z
zengyawen 已提交
3499 3500
  ```

3501
### getMissCount<sup>(deprecated)</sup>
Z
zengyawen 已提交
3502

3503
getMissCount(): number
Z
zengyawen 已提交
3504

3505
获取查询值不匹配的次数。
Z
zengyawen 已提交
3506

3507 3508 3509
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[getMissCount<sup>9+</sup>](#getmisscount9)替代。
Z
zengyawen 已提交
3510

Z
zengyawen 已提交
3511 3512 3513
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
3514

3515 3516
| 类型 | 说明 |
| -------- | -------- |
3517
| number | 返回查询值不匹配的次数。 |
Z
zengyawen 已提交
3518

Z
zengyawen 已提交
3519
**示例:**
3520

3521
  ```js
3522 3523 3524 3525
  let pro = new util.LruBuffer();
  pro.put(2,10);
  pro.get(2);
  let result = pro.getMissCount();
Z
zengyawen 已提交
3526 3527
  ```

3528
### getRemovalCount<sup>(deprecated)</sup>
Z
zengyawen 已提交
3529

3530
getRemovalCount(): number
Z
zengyawen 已提交
3531

3532
获取从缓冲区中逐出值的次数。
Z
zengyawen 已提交
3533

3534 3535 3536
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[getRemovalCount<sup>9+</sup>](#getremovalcount9)替代。
Z
zengyawen 已提交
3537

Z
zengyawen 已提交
3538 3539 3540
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
3541

3542 3543
| 类型 | 说明 |
| -------- | -------- |
3544
| number | 返回从缓冲区中驱逐的次数。 |
Z
zengyawen 已提交
3545

Z
zengyawen 已提交
3546
**示例:**
3547

3548
  ```js
3549 3550 3551 3552 3553
  let pro = new util.LruBuffer();
  pro.put(2,10);
  pro.updateCapacity(2);
  pro.put(50,22);
  let result = pro.getRemovalCount();
Z
zengyawen 已提交
3554 3555
  ```

3556
### getMatchCount<sup>(deprecated)</sup>
Z
zengyawen 已提交
3557

3558
getMatchCount(): number
Z
zengyawen 已提交
3559

3560
获取查询值匹配成功的次数。
Z
zengyawen 已提交
3561

3562 3563 3564
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[getMatchCount<sup>9+</sup>](#getmatchcount9)替代。
Z
zengyawen 已提交
3565

Z
zengyawen 已提交
3566 3567 3568
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
3569

3570 3571
| 类型 | 说明 |
| -------- | -------- |
3572
| number | 返回查询值匹配成功的次数。 |
Z
zengyawen 已提交
3573

Z
zengyawen 已提交
3574
**示例:**
3575

3576
  ```js
3577 3578 3579 3580
  let pro = new util.LruBuffer();
  pro.put(2,10);
  pro.get(2);
  let result = pro.getMatchCount();
Z
zengyawen 已提交
3581 3582
  ```

3583
### getPutCount<sup>(deprecated)</sup>
Z
zengyawen 已提交
3584

3585
getPutCount(): number
Z
zengyawen 已提交
3586

3587
获取将值添加到缓冲区的次数。
Z
zengyawen 已提交
3588

3589 3590 3591
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[getPutCount<sup>9+</sup>](#getputcount9)替代。
Z
zengyawen 已提交
3592

Z
zengyawen 已提交
3593 3594 3595
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
3596

3597 3598
| 类型 | 说明 |
| -------- | -------- |
3599
| number | 返回将值添加到缓冲区的次数。 |
Z
zengyawen 已提交
3600

Z
zengyawen 已提交
3601
**示例:**
3602

3603
  ```js
3604 3605 3606
  let pro = new util.LruBuffer();
  pro.put(2,10);
  let result = pro.getPutCount();
Z
zengyawen 已提交
3607 3608
  ```

3609
### isEmpty<sup>(deprecated)</sup>
Z
zengyawen 已提交
3610

3611
isEmpty(): boolean
Z
zengyawen 已提交
3612

3613
检查当前缓冲区是否为空。
Z
zengyawen 已提交
3614

3615 3616 3617
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[isEmpty<sup>9+</sup>](#isempty9)替代。
Z
zengyawen 已提交
3618

Z
zengyawen 已提交
3619 3620 3621
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
3622

3623 3624
| 类型 | 说明 |
| -------- | -------- |
3625
| boolean | 如果当前缓冲区不包含任何值,则返回true。 |
Z
zengyawen 已提交
3626

Z
zengyawen 已提交
3627
**示例:**
3628

3629
  ```js
3630 3631 3632
  let pro = new util.LruBuffer();
  pro.put(2,10);
  let result = pro.isEmpty();
Z
zengyawen 已提交
3633 3634
  ```

3635
### get<sup>(deprecated)</sup>
Z
zengyawen 已提交
3636

3637
get(key: K): V | undefined
Z
zengyawen 已提交
3638

3639
表示要查询的键。
Z
zengyawen 已提交
3640

3641 3642 3643
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[get<sup>9+</sup>](#get9)替代。
Z
zengyawen 已提交
3644

Z
zengyawen 已提交
3645 3646 3647
**系统能力:** SystemCapability.Utils.Lang

**参数:**
3648

3649 3650
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
3651
| key | K | 是 | 要查询的键。 |
Z
zengyawen 已提交
3652

Z
zengyawen 已提交
3653
**返回值:**
3654

3655 3656
| 类型 | 说明 |
| -------- | -------- |
3657
| V&nbsp;\|&nbsp;undefined | 如果指定的键存在于缓冲区中,则返回与键关联的值;否则返回undefined。 |
Z
zengyawen 已提交
3658

Z
zengyawen 已提交
3659
**示例:**
3660

3661
  ```js
3662 3663 3664
  let pro = new util.LruBuffer();
  pro.put(2,10);
  let result  = pro.get(2);
Z
zengyawen 已提交
3665 3666
  ```

3667
### put<sup>(deprecated)</sup>
Z
zengyawen 已提交
3668

3669
put(key: K,value: V): V
Z
zengyawen 已提交
3670

3671
将键值对添加到缓冲区。
Z
zengyawen 已提交
3672

3673 3674 3675
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[put<sup>9+</sup>](#put9)替代。
Z
zengyawen 已提交
3676

Z
zengyawen 已提交
3677 3678 3679
**系统能力:** SystemCapability.Utils.Lang

**参数:**
3680

3681 3682
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
3683 3684
| key | K | 是 | 要添加的密钥。 |
| value | V | 是 | 指示与要添加的键关联的值。 |
Z
zengyawen 已提交
3685

Z
zengyawen 已提交
3686
**返回值:**
3687

3688 3689
| 类型 | 说明 |
| -------- | -------- |
3690
| V | 返回与添加的键关联的值;如果要添加的键已经存在,则返回原始值,如果键或值为空,则抛出此异常。 |
Z
zengyawen 已提交
3691

Z
zengyawen 已提交
3692
**示例:**
3693

3694
  ```js
3695 3696
  let pro = new util.LruBuffer();
  let result = pro.put(2,10);
Z
zengyawen 已提交
3697 3698
  ```

3699
### values<sup>(deprecated)</sup>
Z
zengyawen 已提交
3700

3701
values(): V[]
Z
zengyawen 已提交
3702

3703
获取当前缓冲区中所有值从最近访问到最近最少访问的顺序列表。
Z
zengyawen 已提交
3704

3705 3706 3707
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[values<sup>9+</sup>](#values9)替代。
Z
zengyawen 已提交
3708

Z
zengyawen 已提交
3709 3710 3711
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
3712

3713 3714
| 类型 | 说明 |
| -------- | -------- |
3715
| V&nbsp;[] | 按从最近访问到最近最少访问的顺序返回当前缓冲区中所有值的列表。 |
Z
zengyawen 已提交
3716

Z
zengyawen 已提交
3717
**示例:**
3718

3719
  ```js
3720 3721 3722 3723 3724
  let pro = new util.LruBuffer();
  pro.put(2,10);
  pro.put(2,"anhu");
  pro.put("afaf","grfb");
  let result = pro.values();
Z
zengyawen 已提交
3725 3726
  ```

3727
### keys<sup>(deprecated)</sup>
Z
zengyawen 已提交
3728

3729
keys(): K[]
Z
zengyawen 已提交
3730

3731
获取当前缓冲区中所有键从最近访问到最近最少访问的升序列表。
Z
zengyawen 已提交
3732

3733 3734 3735
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[keys<sup>9+</sup>](#keys9)替代。
Z
zengyawen 已提交
3736

Z
zengyawen 已提交
3737 3738 3739
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
3740

3741 3742
| 类型 | 说明 |
| -------- | -------- |
3743
| K&nbsp;[] | 按升序返回当前缓冲区中所有键的列表,从最近访问到最近最少访问。 |
Z
zengyawen 已提交
3744

Z
zengyawen 已提交
3745
**示例:**
3746
  ```js
3747 3748 3749
  let pro = new util.LruBuffer();
  pro.put(2,10);
  let result = pro.keys();
Z
zengyawen 已提交
3750 3751
  ```

3752
### remove<sup>(deprecated)</sup>
Z
zengyawen 已提交
3753

3754
remove(key: K): V | undefined
Z
zengyawen 已提交
3755

3756
从当前缓冲区中删除指定的键及其关联的值。
Z
zengyawen 已提交
3757

3758 3759 3760
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[remove<sup>9+</sup>](#remove9)替代。
Z
zengyawen 已提交
3761

Z
zengyawen 已提交
3762 3763 3764
**系统能力:** SystemCapability.Utils.Lang

**参数:**
3765

3766 3767
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
3768
| key | K | 是 | 要删除的密钥。 |
Z
zengyawen 已提交
3769

Z
zengyawen 已提交
3770
**返回值:**
3771

3772 3773
| 类型 | 说明 |
| -------- | -------- |
3774
| V&nbsp;\|&nbsp;undefined | 返回一个包含已删除键值对的Optional对象;如果key不存在,则返回一个空的Optional对象,如果key为null,则抛出异常。 |
Z
zengyawen 已提交
3775

Z
zengyawen 已提交
3776
**示例:**
3777
  ```js
3778 3779 3780
  let pro = new util.LruBuffer();
  pro.put(2,10);
  let result = pro.remove(20);
Z
zengyawen 已提交
3781 3782
  ```

3783
### afterRemoval<sup>(deprecated)</sup>
Z
zengyawen 已提交
3784

3785
afterRemoval(isEvict: boolean,key: K,value: V,newValue: V): void
Z
zengyawen 已提交
3786

3787
删除值后执行后续操作。
Z
zengyawen 已提交
3788

3789 3790 3791
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[afterRemoval<sup>9+</sup>](#afterremoval9)替代。
Z
zengyawen 已提交
3792

Z
zengyawen 已提交
3793 3794 3795
**系统能力:** SystemCapability.Utils.Lang

**参数:**
3796

3797 3798
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
3799 3800 3801 3802
| isEvict | boolean | 是 | 因容量不足而调用该方法时,参数值为true,其他情况为false。 |
| key | K | 是 | 表示删除的键。 |
| value | V | 是 | 表示删除的值。 |
| newValue | V | 是 | 如果已调用put方法并且要添加的键已经存在,则参数值是关联的新值。其他情况下参数值为空。 |
Z
zengyawen 已提交
3803

Z
zengyawen 已提交
3804
**示例:**
3805

3806
  ```js
3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823
  let arr = [];
  class ChildLruBuffer<K, V> extends util.LruBuffer<K, V>
  {
  	constructor()
  	{
  		super();
  	}
  	afterRemoval(isEvict, key, value, newValue)
  	{
  		if (isEvict === false)
  		{
  			arr = [key, value, newValue];
  		}
  	}
  }
  let lru = new ChildLruBuffer();
  lru.afterRemoval(false,10,30,null);
Z
zengyawen 已提交
3824 3825
  ```

3826
### contains<sup>(deprecated)</sup>
Z
zengyawen 已提交
3827

3828
contains(key: K): boolean
Z
zengyawen 已提交
3829

3830
检查当前缓冲区是否包含指定的键。
Z
zengyawen 已提交
3831

3832 3833 3834 3835

> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[contains<sup>9+</sup>](#contains9)替代。
Z
zengyawen 已提交
3836

Z
zengyawen 已提交
3837 3838 3839
**系统能力:** SystemCapability.Utils.Lang

**参数:**
3840

3841 3842
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
3843
| key | K | 是 | 表示要检查的键。 |
Z
zengyawen 已提交
3844

Z
zengyawen 已提交
3845
**返回值:**
3846

3847 3848
| 类型 | 说明 |
| -------- | -------- |
3849
| boolean | 如果缓冲区包含指定的键,则返回&nbsp;true。 |
Z
zengyawen 已提交
3850

Z
zengyawen 已提交
3851
**示例:**
3852

3853
  ```js
3854 3855 3856
  let pro = new util.LruBuffer();
  pro.put(2,10);
  let result = pro.contains(20);
Z
zengyawen 已提交
3857 3858
  ```

3859
### createDefault<sup>(deprecated)</sup>
Z
zengyawen 已提交
3860

3861
createDefault(key: K): V
Z
zengyawen 已提交
3862

3863
如果未计算特定键的值,则执行后续操作,参数表示丢失的键,返回与键关联的值。
Z
zengyawen 已提交
3864

3865 3866 3867
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[createDefault<sup>9+</sup>](#createdefault9)替代。
Z
zengyawen 已提交
3868

Z
zengyawen 已提交
3869 3870 3871
**系统能力:** SystemCapability.Utils.Lang

**参数:**
3872

3873 3874
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
3875
| key | K | 是 | 表示丢失的键。 |
Z
zengyawen 已提交
3876

Z
zengyawen 已提交
3877
**返回值:**
3878

3879 3880
| 类型 | 说明 |
| -------- | -------- |
3881
| V | 返回与键关联的值。 |
Z
zengyawen 已提交
3882

Z
zengyawen 已提交
3883
**示例:**
3884

3885
  ```js
3886 3887
  let pro = new util.LruBuffer();
  let result = pro.createDefault(50);
Z
zengyawen 已提交
3888 3889
  ```

3890
### entries<sup>(deprecated)</sup>
Z
zengyawen 已提交
3891

3892
entries(): IterableIterator&lt;[K,V]&gt;
Z
zengyawen 已提交
3893

3894
允许迭代包含在这个对象中的所有键值对。
Z
zengyawen 已提交
3895

3896 3897 3898
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[entries<sup>9+</sup>](#entries9)替代。
Z
zengyawen 已提交
3899

Z
zengyawen 已提交
3900 3901 3902
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
3903

3904 3905
| 类型 | 说明 |
| -------- | -------- |
3906
| [K,&nbsp;V] | 返回一个可迭代数组。 |
Z
zengyawen 已提交
3907

Z
zengyawen 已提交
3908
**示例:**
3909

3910
  ```js
3911 3912 3913
  let pro = new util.LruBuffer();
  pro.put(2,10);
  let result = pro.entries();
Z
zengyawen 已提交
3914 3915
  ```

3916
### [Symbol.iterator]<sup>(deprecated)</sup>
Z
zengyawen 已提交
3917

3918
[Symbol.iterator]\(): IterableIterator&lt;[K, V]&gt;
Z
zengyawen 已提交
3919

3920
返回一个键值对形式的二维数组。
Z
zengyawen 已提交
3921

3922 3923 3924
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[Symbol.iterator<sup>9+</sup>](#symboliterator9)替代。
Z
zengyawen 已提交
3925

Z
zengyawen 已提交
3926 3927 3928
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
3929

3930 3931
| 类型 | 说明 |
| -------- | -------- |
3932
| [K,&nbsp;V] | 返回一个键值对形式的二维数组。 |
Z
zengyawen 已提交
3933

Z
zengyawen 已提交
3934
**示例:**
3935

3936
  ```js
3937 3938 3939
  let pro = new util.LruBuffer();
  pro.put(2,10);
  let result = pro[Symbol.iterator]();
Z
zengyawen 已提交
3940 3941
  ```

3942
## Scope<sup>(deprecated)</sup>
Z
zengyawen 已提交
3943

3944 3945 3946
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper<sup>9+</sup>](#scopehelper9)替代。
3947

3948
### constructor<sup>(deprecated)</sup>
Z
zengyawen 已提交
3949

3950
constructor(lowerObj: ScopeType, upperObj: ScopeType)
Z
zengyawen 已提交
3951

3952
用于创建指定下限和上限的作用域实例的构造函数,返回一个Scope对象。
Z
zengyawen 已提交
3953

3954 3955 3956
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[constructor<sup>9+</sup>](#constructor9)替代。
Z
zengyawen 已提交
3957 3958


Z
zengyawen 已提交
3959 3960 3961
**系统能力:** SystemCapability.Utils.Lang

**参数:**
3962

3963 3964
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985
| lowerObj | [ScopeType](#scopetype8) | 是 | 指定作用域实例的下限。 |
| upperObj | [ScopeType](#scopetype8) | 是 | 指定作用域实例的上限。 |

**示例:**
  ```js
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let range = new util.Scope(tempLower, tempUpper);
  ```

### toString<sup>(deprecated)</sup>

toString(): string

该字符串化方法返回一个包含当前范围的字符串表示形式。

> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[toString<sup>9+</sup>](#tostring9)替代。

**系统能力:** SystemCapability.Utils.Lang
Z
zengyawen 已提交
3986

Z
zengyawen 已提交
3987
**返回值:**
3988

3989 3990
| 类型 | 说明 |
| -------- | -------- |
3991
| string | 返回包含当前范围对象的字符串表示形式。 |
Z
zengyawen 已提交
3992

Z
zengyawen 已提交
3993
**示例:**
3994

3995
  ```js
3996 3997 3998 3999
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let range = new util.Scope(tempLower, tempUpper);
  let result = range.toString();
Z
zengyawen 已提交
4000 4001
  ```

4002
### intersect<sup>(deprecated)</sup>
Z
zengyawen 已提交
4003

4004
intersect(range: Scope): Scope
Z
zengyawen 已提交
4005

4006
获取给定范围和当前范围的交集。
Z
zengyawen 已提交
4007

4008 4009 4010
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[intersect<sup>9+</sup>](#intersect9)替代。
Z
zengyawen 已提交
4011

Z
zengyawen 已提交
4012 4013 4014
**系统能力:** SystemCapability.Utils.Lang

**参数:**
4015

4016 4017
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
4018
| range | [Scope](#scopedeprecated) | 是 | 传入一个给定范围。 |
Z
zengyawen 已提交
4019

Z
zengyawen 已提交
4020
**返回值:**
4021

4022 4023
| 类型 | 说明 |
| -------- | -------- |
4024
| [Scope](#scopedeprecated) | 返回给定范围和当前范围的交集。 |
Z
zengyawen 已提交
4025

Z
zengyawen 已提交
4026
**示例:**
4027

4028
  ```js
4029 4030 4031 4032 4033 4034 4035
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let range = new util.Scope(tempLower, tempUpper);
  let tempMiDF = new Temperature(35);
  let tempMidS = new Temperature(39);
  let rangeFir = new util.Scope(tempMiDF, tempMidS);
  range.intersect(rangeFir );
Z
zengyawen 已提交
4036 4037
  ```

4038
### intersect<sup>(deprecated)</sup>
Z
zengyawen 已提交
4039

4040
intersect(lowerObj:ScopeType,upperObj:ScopeType):Scope
Z
zengyawen 已提交
4041

4042
获取当前范围与给定下限和上限范围的交集。
Z
zengyawen 已提交
4043

4044 4045 4046
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[intersect<sup>9+</sup>](#intersect9)替代。
Z
zengyawen 已提交
4047

Z
zengyawen 已提交
4048 4049 4050
**系统能力:** SystemCapability.Utils.Lang

**参数:**
4051

4052 4053
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
4054 4055
| lowerObj | [ScopeType](#scopetype8) | 是 | 给定范围的下限。 |
| upperObj | [ScopeType](#scopetype8) | 是 | 给定范围的上限。 |
Z
zengyawen 已提交
4056

Z
zengyawen 已提交
4057
**返回值:**
4058

4059 4060
| 类型 | 说明 |
| -------- | -------- |
4061
| [Scope](#scopedeprecated) | 返回当前范围与给定下限和上限范围的交集。 |
Z
zengyawen 已提交
4062

Z
zengyawen 已提交
4063
**示例:**
4064

4065
  ```js
4066 4067 4068 4069 4070 4071
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let tempMiDF = new Temperature(35);
  let tempMidS = new Temperature(39);
  let range = new util.Scope(tempLower, tempUpper);
  let result = range.intersect(tempMiDF, tempMidS);
Z
zengyawen 已提交
4072 4073
  ```

4074
### getUpper<sup>(deprecated)</sup>
Z
zengyawen 已提交
4075

4076
getUpper(): ScopeType
Z
zengyawen 已提交
4077

4078
获取当前范围的上限。
Z
zengyawen 已提交
4079

4080 4081 4082
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[getUpper<sup>9+</sup>](#getupper9)替代。
Z
zengyawen 已提交
4083

Z
zengyawen 已提交
4084 4085 4086
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
4087

4088 4089
| 类型 | 说明 |
| -------- | -------- |
4090
| [ScopeType](#scopetype8) | 返回当前范围的上限值。 |
Z
zengyawen 已提交
4091

Z
zengyawen 已提交
4092
**示例:**
4093

4094
  ```js
4095 4096 4097 4098
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let range = new util.Scope(tempLower, tempUpper);
  let result = range.getUpper();
Z
zengyawen 已提交
4099 4100
  ```

4101
### getLower<sup>(deprecated)</sup>
Z
zengyawen 已提交
4102

4103
getLower(): ScopeType
Z
zengyawen 已提交
4104

4105
获取当前范围的下限。
Z
zengyawen 已提交
4106

4107 4108 4109
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[getLower<sup>9+</sup>](#getlower9)替代。
Z
zengyawen 已提交
4110

Z
zengyawen 已提交
4111 4112 4113
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
4114

4115 4116
| 类型 | 说明 |
| -------- | -------- |
4117
| [ScopeType](#scopetype8) | 返回当前范围的下限值。 |
Z
zengyawen 已提交
4118

Z
zengyawen 已提交
4119
**示例:**
4120

4121
  ```js
4122 4123 4124 4125
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let range = new util.Scope(tempLower, tempUpper);
  let result = range.getLower();
Z
zengyawen 已提交
4126 4127
  ```

4128
### expand<sup>(deprecated)</sup>
Z
zengyawen 已提交
4129

4130
expand(lowerObj: ScopeType,upperObj: ScopeType): Scope
Z
zengyawen 已提交
4131

4132
创建并返回包括当前范围和给定下限和上限的并集。
Z
zengyawen 已提交
4133

4134 4135 4136
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[expand<sup>9+</sup>](#expand9)替代。
Z
zengyawen 已提交
4137

Z
zengyawen 已提交
4138 4139 4140
**系统能力:** SystemCapability.Utils.Lang

**参数:**
4141

4142 4143
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
4144 4145
| lowerObj | [ScopeType](#scopetype8) | 是 | 给定范围的下限。 |
| upperObj | [ScopeType](#scopetype8) | 是 | 给定范围的上限。 |
Z
zengyawen 已提交
4146

Z
zengyawen 已提交
4147
**返回值:**
4148

4149 4150
| 类型 | 说明 |
| -------- | -------- |
4151
| [Scope](#scopedeprecated) | 返回当前范围和给定下限和上限的并集。 |
Z
zengyawen 已提交
4152

Z
zengyawen 已提交
4153
**示例:**
4154

4155
  ```js
4156 4157 4158 4159 4160 4161
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let tempMiDF = new Temperature(35);
  let tempMidS = new Temperature(39);
  let range = new util.Scope(tempLower, tempUpper);
  let result = range.expand(tempMiDF, tempMidS);
Z
zengyawen 已提交
4162 4163
  ```

4164
### expand<sup>(deprecated)</sup>
Z
zengyawen 已提交
4165

4166
expand(range: Scope): Scope
Z
zengyawen 已提交
4167

4168
创建并返回包括当前范围和给定范围的并集。
Z
zengyawen 已提交
4169

4170 4171 4172
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[expand<sup>9+</sup>](#expand9)替代。
Z
zengyawen 已提交
4173

Z
zengyawen 已提交
4174 4175 4176
**系统能力:** SystemCapability.Utils.Lang

**参数:**
4177

4178 4179
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
4180
| range | [Scope](#scopedeprecated) | 是 | 传入一个给定范围。 |
Z
zengyawen 已提交
4181

Z
zengyawen 已提交
4182
**返回值:**
4183

4184 4185
| 类型 | 说明 |
| -------- | -------- |
4186
| [Scope](#scopedeprecated) | 返回包括当前范围和给定范围的并集。 |
Z
zengyawen 已提交
4187

Z
zengyawen 已提交
4188
**示例:**
4189

4190
  ```js
4191 4192 4193 4194 4195 4196 4197
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let tempMiDF = new Temperature(35);
  let tempMidS = new Temperature(39);
  let range = new util.Scope(tempLower, tempUpper);
  let rangeFir = new util.Scope(tempMiDF, tempMidS);
  let result = range.expand(rangeFir);
Z
zengyawen 已提交
4198 4199
  ```

4200
### expand<sup>(deprecated)</sup>
Z
zengyawen 已提交
4201

4202
expand(value: ScopeType): Scope
Z
zengyawen 已提交
4203

4204
创建并返回包括当前范围和给定值的并集。
Z
zengyawen 已提交
4205

4206 4207 4208
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[expand<sup>9+</sup>](#expand9)替代。
Z
zengyawen 已提交
4209

Z
zengyawen 已提交
4210 4211 4212
**系统能力:** SystemCapability.Utils.Lang

**参数:**
4213

4214 4215
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
4216
| value | [ScopeType](#scopetype8) | 是 | 传入一个给定值。 |
Z
zengyawen 已提交
4217

Z
zengyawen 已提交
4218
**返回值:**
4219

4220 4221
| 类型 | 说明 |
| -------- | -------- |
4222
| [Scope](#scopedeprecated) | 返回包括当前范围和给定值的并集。 |
Z
zengyawen 已提交
4223

Z
zengyawen 已提交
4224
**示例:**
4225

4226
  ```js
4227 4228 4229 4230 4231
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let tempMiDF = new Temperature(35);
  let range = new util.Scope(tempLower, tempUpper);
  let result = range.expand(tempMiDF);
Z
zengyawen 已提交
4232 4233
  ```

4234
### contains<sup>(deprecated)</sup>
Z
zengyawen 已提交
4235

4236
contains(value: ScopeType): boolean
Z
zengyawen 已提交
4237

4238
检查给定value是否包含在当前范围内。
Z
zengyawen 已提交
4239

4240 4241 4242
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[contains<sup>9+</sup>](#contains9)替代。
Z
zengyawen 已提交
4243

Z
zengyawen 已提交
4244 4245 4246
**系统能力:** SystemCapability.Utils.Lang

**参数:**
4247

4248 4249
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
4250
| value | [ScopeType](#scopetype8) | 是 | 传入一个给定值。 |
Z
zengyawen 已提交
4251

Z
zengyawen 已提交
4252
**返回值:**
4253

4254 4255
| 类型 | 说明 |
| -------- | -------- |
4256
| boolean | 如果给定值包含在当前范围内返回true,否则返回false。 |
Z
zengyawen 已提交
4257

Z
zengyawen 已提交
4258
**示例:**
4259

4260
  ```js
4261 4262 4263 4264 4265
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let tempMiDF = new Temperature(35);
  let range = new util.Scope(tempLower, tempUpper);
  range.contains(tempMiDF);
Z
zengyawen 已提交
4266 4267
  ```

4268
### contains<sup>(deprecated)</sup>
Z
zengyawen 已提交
4269

4270
contains(range: Scope): boolean
Z
zengyawen 已提交
4271

4272
检查给定range是否在当前范围内。
Z
zengyawen 已提交
4273

4274 4275 4276
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[contains<sup>9+</sup>](#contains9)替代。
Z
zengyawen 已提交
4277

Z
zengyawen 已提交
4278 4279 4280
**系统能力:** SystemCapability.Utils.Lang

**参数:**
4281

4282 4283
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
4284
| range | [Scope](#scopedeprecated) | 是 | 传入一个给定范围。 |
Z
zengyawen 已提交
4285

Z
zengyawen 已提交
4286
**返回值:**
4287

4288 4289
| 类型 | 说明 |
| -------- | -------- |
4290
| boolean | 如果给定范围包含在当前范围内返回true,否则返回false。 |
Z
zengyawen 已提交
4291

Z
zengyawen 已提交
4292
**示例:**
4293

4294
  ```js
4295 4296 4297 4298 4299 4300 4301
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let range = new util.Scope(tempLower, tempUpper);
  let tempLess = new Temperature(20);
  let tempMore = new Temperature(45);
  let rangeSec = new util.Scope(tempLess, tempMore);
  let result = range.contains(rangeSec);
Z
zengyawen 已提交
4302 4303
  ```

4304
### clamp<sup>(deprecated)</sup>
Z
zengyawen 已提交
4305 4306


4307
clamp(value: ScopeType): ScopeType
Z
zengyawen 已提交
4308

4309 4310 4311 4312 4313
将给定值限定到当前范围内。

> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[clamp<sup>9+</sup>](#clamp9)替代。
Z
zengyawen 已提交
4314

Z
zengyawen 已提交
4315 4316 4317
**系统能力:** SystemCapability.Utils.Lang

**参数:**
4318

4319 4320
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
4321
| value | [ScopeType](#scopetype8) | 是 | 传入的给定值。 |
Z
zengyawen 已提交
4322

Z
zengyawen 已提交
4323
**返回值:**
4324

4325 4326
| 类型 | 说明 |
| -------- | -------- |
4327
| [ScopeType](#scopetype8) | 如果传入的value小于下限,则返回lowerObj;如果大于上限值则返回upperObj;如果在当前范围内,则返回value。 |
Z
zengyawen 已提交
4328

Z
zengyawen 已提交
4329
**示例:**
4330

4331
  ```js
4332 4333 4334 4335 4336
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let tempMiDF = new Temperature(35);
  let range = new util.Scope(tempLower, tempUpper);
  let result = range.clamp(tempMiDF);
Z
zengyawen 已提交
4337 4338 4339
  ```


4340
## Base64<sup>(deprecated)</sup>
Z
zengyawen 已提交
4341

4342 4343 4344
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[Base64Helper<sup>9+</sup>](#base64helper9)替代。
Z
zengyawen 已提交
4345

4346
### constructor<sup>(deprecated)</sup>
Z
zengyawen 已提交
4347

4348
constructor()
4349

4350
Base64的构造函数。
Z
zengyawen 已提交
4351

4352 4353 4354
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[constructor<sup>9+</sup>](#constructor9)替代。
4355

4356
**系统能力:** SystemCapability.Utils.Lang
Z
zengyawen 已提交
4357

Z
zengyawen 已提交
4358
**示例:**
4359

4360
  ```js
4361
  let base64 = new  util.Base64();
Z
zengyawen 已提交
4362 4363
  ```

4364
### encodeSync<sup>(deprecated)</sup>
Z
zengyawen 已提交
4365

4366
encodeSync(src: Uint8Array): Uint8Array
Z
zengyawen 已提交
4367

4368
通过输入参数编码后输出对应文本。
Z
zengyawen 已提交
4369

4370 4371 4372
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[encodeSync<sup>9+</sup>](#encodesync9)替代。
Z
zengyawen 已提交
4373

Z
zengyawen 已提交
4374 4375 4376
**系统能力:** SystemCapability.Utils.Lang

**参数:**
4377

4378 4379
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
4380
| src | Uint8Array | 是 | 编码输入Uint8数组。 |
Z
zengyawen 已提交
4381

Z
zengyawen 已提交
4382
**返回值:**
4383

4384 4385
| 类型 | 说明 |
| -------- | -------- |
4386
| Uint8Array | 返回编码后新分配的Uint8数组。 |
Z
zengyawen 已提交
4387

Z
zengyawen 已提交
4388
**示例:**
4389

4390
  ```js
4391 4392 4393
  let that = new util.Base64();
  let array = new Uint8Array([115,49,51]);
  let result = that.encodeSync(array);
Z
zengyawen 已提交
4394 4395
  ```

4396
### encodeToStringSync<sup>(deprecated)</sup>
Z
zengyawen 已提交
4397

4398
encodeToStringSync(src: Uint8Array): string
Z
zengyawen 已提交
4399

4400
通过输入参数编码后输出对应文本。
Z
zengyawen 已提交
4401

4402 4403 4404
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[encodeToStringSync<sup>9+</sup>](#encodetostringsync9)替代。
Z
zengyawen 已提交
4405

Z
zengyawen 已提交
4406 4407 4408
**系统能力:** SystemCapability.Utils.Lang

**参数:**
4409

4410 4411
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
4412
| src | Uint8Array | 是 | 编码输入Uint8数组。 |
Z
zengyawen 已提交
4413

Z
zengyawen 已提交
4414
**返回值:**
4415

4416 4417
| 类型 | 说明 |
| -------- | -------- |
4418
| string | 返回编码后的字符串。 |
Z
zengyawen 已提交
4419

Z
zengyawen 已提交
4420
**示例:**
4421

4422
  ```js
4423 4424 4425
  let that = new util.Base64();
  let array = new Uint8Array([115,49,51]);
  let result = that.encodeToStringSync(array);
Z
zengyawen 已提交
4426
  ```
4427

4428
### decodeSync<sup>(deprecated)</sup>
4429

4430
decodeSync(src: Uint8Array | string): Uint8Array
4431

4432
通过输入参数解码后输出对应文本。
4433

4434 4435 4436
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[decodeSync<sup>9+</sup>](#decodesync9)替代。
4437 4438 4439 4440

**系统能力:** SystemCapability.Utils.Lang

**参数:**
4441

4442 4443
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
4444
| src | Uint8Array&nbsp;\|&nbsp;string | 是 | 解码输入Uint8数组或者字符串。 |
4445 4446

**返回值:**
4447

4448 4449
| 类型 | 说明 |
| -------- | -------- |
4450
| Uint8Array | 返回解码后新分配的Uint8数组。 |
4451 4452

**示例:**
4453

4454
  ```js
4455 4456 4457
  let that = new util.Base64();
  let buff = 'czEz';
  let result = that.decodeSync(buff);
4458 4459
  ```

4460
### encode<sup>(deprecated)</sup>
4461

4462
encode(src: Uint8Array): Promise&lt;Uint8Array&gt;
4463

4464
通过输入参数异步编码后输出对应文本。
4465

4466 4467 4468
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[encode<sup>9+</sup>](#encode9)替代。
4469 4470 4471 4472

**系统能力:** SystemCapability.Utils.Lang

**参数:**
4473

4474 4475
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
4476
| src | Uint8Array | 是 | 异步编码输入Uint8数组。 |
4477 4478

**返回值:**
4479

4480 4481
| 类型 | 说明 |
| -------- | -------- |
4482
| Promise&lt;Uint8Array&gt; | 返回异步编码后新分配的Uint8数组。 |
4483 4484

**示例:**
4485

4486
  ```js
4487 4488 4489 4490 4491 4492 4493 4494
  let that = new util.Base64();
  let array = new Uint8Array([115,49,51]);
  let rarray = new Uint8Array([99,122,69,122]);
  that.encode(array).then(val=>{    
      for (var i = 0; i < rarray.length; i++) {        
          console.log(val[i].toString())
      }
  })
4495 4496
  ```

4497
### encodeToString<sup>(deprecated)</sup>
4498

4499
encodeToString(src: Uint8Array): Promise&lt;string&gt;
4500

4501
通过输入参数异步编码后输出对应文本。
4502

4503 4504 4505
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[encodeToString<sup>9+</sup>](#encodetostring9)替代。
4506 4507 4508 4509

**系统能力:** SystemCapability.Utils.Lang

**参数:**
4510

4511 4512
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
4513
| src | Uint8Array | 是 | 异步编码输入Uint8数组。 |
4514 4515

**返回值:**
4516

4517 4518
| 类型 | 说明 |
| -------- | -------- |
4519
| Promise&lt;string&gt; | 返回异步编码后的字符串。 |
4520 4521

**示例:**
4522

4523
  ```js
4524 4525 4526 4527 4528
  let that = new util.Base64();
  let array = new Uint8Array([115,49,51]);
  that.encodeToString(array).then(val=>{    
      console.log(val)
  })
4529 4530
  ```

4531
### decode<sup>(deprecated)</sup>
4532 4533


4534
decode(src: Uint8Array | string): Promise&lt;Uint8Array&gt;
4535

4536 4537 4538 4539 4540
通过输入参数异步解码后输出对应文本。

> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[decode<sup>9+</sup>](#decode9)替代。
4541 4542 4543 4544

**系统能力:** SystemCapability.Utils.Lang

**参数:**
4545

4546 4547
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
4548
| src | Uint8Array&nbsp;\|&nbsp;string | 是 | 异步解码输入Uint8数组或者字符串。 |
4549 4550

**返回值:**
4551

4552 4553
| 类型 | 说明 |
| -------- | -------- |
4554
| Promise&lt;Uint8Array&gt; | 返回异步解码后新分配的Uint8数组。 |
4555 4556

**示例:**
4557

4558
  ```js
4559 4560 4561 4562 4563 4564 4565 4566
  let that = new util.Base64();
  let array = new Uint8Array([99,122,69,122]);
  let rarray = new Uint8Array([115,49,51]);
  that.decode(array).then(val=>{    
      for (var i = 0; i < rarray.length; i++) {        
          console.log(val[i].toString())
      }
  })
J
jiangkai43 已提交
4567
  ```
4568

J
jiangkai43 已提交
4569
  <!--no_check-->