OpenHarmony语言基础类库【@ohos.util (util工具函数)】

@ohos.util (util工具函数)

该模块主要提供常用的工具函数,实现字符串编解码([TextEncoder]),[TextDecoder])、有理数运算([RationalNumber8+])、缓冲区管理([LRUCache9+])、范围判断([ScopeHelper9+])、Base64编解码([Base64Helper9+])、内置对象类型检查([types8+])等功能。

说明:

本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import util from '@ohos.util';

鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。

util.format9+

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

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
formatstring格式化字符串,可以包含零个或多个占位符,用于指定要插入的参数的位置和格式。
...argsObject[]替换format参数中占位符的数据,此参数缺失时,默认返回第一个参数。

返回值:

类型说明
string格式化后的字符串。

格式说明符:

格式说明符说明
%s将参数转换为字符串,用于除Object,BigInt和-0之外的所有值。
%d将参数作为十进制整数进行格式化输出,用于除Symbol和BigInt之外的所有值。
%i将字符串转换为十进制整数,用于除BigInt和Symbol之外的所有值。
%f将字符串转换为浮点数,用于除Bigint和Symbol之外的所有值。
%j将JavaScript对象转换为JSON字符串进行格式化输出。
%o用于将JavaScript对象进行格式化输出,将对象转换为字符串表示,但不包含对象的原型链信息。
%O用于将JavaScript对象进行格式化输出,将对象转换为字符串表示。
%c只在浏览器环境中有效。其余环境不会产生样式效果。
%%转义百分号的特殊格式化占位符。

示例:

let name = 'John';
let age = 20;
let formattedString = util.format('My name is %s and I am %s years old', name, age);
console.log(formattedString);
// 输出结果:My name is John and I am 20 years old
let num = 10.5;
formattedString = util.format('The number is %d', num);
console.log(formattedString);
// 输出结果:The number is 10.5
num = 100.5;
formattedString = util.format('The number is %i', num);
console.log(formattedString);
// 输出结果:The number is 100
const pi = 3.141592653;
formattedString = util.format('The value of pi is %f', pi);
console.log(formattedString);
// 输出结果:The value of pi is 3.141592653
const obj = { name: 'John', age: 20 };
formattedString = util.format('The object is %j', obj);
console.log(formattedString);
// 输出结果:The object is {"name":"John","age":20}
const person = {name: 'John',age: 20,address: {city: 'New York',country: 'USA'}
};
console.log(util.format('Formatted object using %%O: %O', person));
console.log(util.format('Formatted object using %%o: %o', person));
/*
输出结果:
Formatted object using %O: { name: 'John',age: 20,address:{ city: 'New York',country: 'USA' } }
Formatted object using %o: { name: 'John',age: 20,address:{ city: 'New York',country: 'USA' } }
*/
const percentage = 80;
let arg = 'homework';
formattedString = util.format('John finished %d%% of the %s', percentage, arg);
console.log(formattedString);
// 输出结果:John finished 80% of the homework

util.errnoToString9+

errnoToString(errno: number): string

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
errnonumber系统发生错误产生的错误码。

返回值:

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

示例:

let errnum = -1; // -1 : a system error number
let result = util.errnoToString(errnum);
console.log("result = " + result);

部分错误码及信息示例:

错误码信息
-1operation not permitted
-2no such file or directory
-3no such process
-4interrupted system call
-5i/o error
-11resource temporarily unavailable
-12not enough memory
-13permission denied
-100network is down

util.callbackWrapper

callbackWrapper(original: Function): (err: Object, value: Object )=>void

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
originalFunction异步函数。

返回值:

类型说明
Function返回一个回调函数,该函数第一个参数err是拒绝原因(如果 Promise 已解决,则为 null),第二个参数value是已解决的值。

示例:

async function fn() {return 'hello world';
}
let cb = util.callbackWrapper(fn);
cb(1, (err, ret) => {if (err) throw err;console.log(ret);
});

util.promisify9+

promisify(original: (err: Object, value: Object) => void): Function

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
originalFunction回调函数中第一个参数err是拒绝原因(如果 Promise 已解决,则为 null),第二个参数value是已解决的值。

返回值:

类型说明
Function返回一个 Promise 的函数。

示例:

async function fn() {return 'hello world';
}
const addCall = util.promisify(util.callbackWrapper(fn));
(async () => {try {let res: string = await addCall();console.log(res);} catch (err) {console.log(err);}
})();

util.generateRandomUUID9+

generateRandomUUID(entropyCache?: boolean): string

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
entropyCacheboolean是否使用已缓存的UUID, 默认true。

返回值:

类型说明
string表示此UUID的字符串。

示例:

let uuid = util.generateRandomUUID(true);
console.log("RFC 4122 Version 4 UUID:" + uuid);
// 输出:
// RFC 4122 Version 4 UUID:88368f2a-d5db-47d8-a05f-534fab0a0045

util.generateRandomBinaryUUID9+

generateRandomBinaryUUID(entropyCache?: boolean): Uint8Array

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
entropyCacheboolean是否使用已缓存的UUID, 默认true。

返回值:

类型说明
Uint8Array表示此UUID的Uint8Array值。

示例:

let uuid = util.generateRandomBinaryUUID(true);
console.log(JSON.stringify(uuid));
// 输出:
// 138,188,43,243,62,254,70,119,130,20,235,222,199,164,140,150

util.parseUUID9+

parseUUID(uuid: string): Uint8Array

将generateRandomUUID生成的string类型UUID转换为generateRandomBinaryUUID生成的Uint8Array类型UUID,如RFC 4122版本4中所述。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
uuidstringUUID字符串。

返回值:

类型说明
Uint8Array返回表示此UUID的Uint8Array,如果解析失败,则抛出SyntaxError。

示例:

let uuid = util.parseUUID("84bdf796-66cc-4655-9b89-d6218d100f9c");
console.log(JSON.stringify(uuid));
// 输出:
// 132,189,247,150,102,204,70,85,155,137,214,33,141,16,15,156

util.printf(deprecated)

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

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

说明:

从API version 7开始支持,从API version 9开始废弃,建议使用[util.format9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
formatstring式样化字符串。
...argsObject[]替换式样化字符串通配符的数据,此参数缺失时,默认返回第一个参数。

返回值:

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

示例:

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

util.getErrorString(deprecated)

getErrorString(errno: number): string

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

说明:

从API version 7开始支持,从API version 9开始废弃,建议使用[util.errnoToString9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
errnonumber系统发生错误产生的错误码。

返回值:

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

示例:

let errnum = -1; // -1 : a system error number
let result = util.getErrorString(errnum);
console.log("result = " + result);

util.promiseWrapper(deprecated)

promiseWrapper(original: (err: Object, value: Object) => void): Object

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

说明:

此接口不可用,建议使用[util.promisify9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
originalFunction异步函数。

返回值:

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

TextDecoder

TextDecoder用于将字节数组解码为字符串,可以处理多种编码格式,包括utf-8、utf-16le/be、iso-8859和windows-1251等不同的编码格式。

属性

系统能力:  以下各项对应的系统能力均为SystemCapability.Utils.Lang。

名称类型可读可写说明
encodingstring编码格式。 - 支持格式: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。
fatalboolean是否显示致命错误。
ignoreBOMboolean是否忽略BOM(byte order marker)标记,默认值为false ,表示解码结果包含BOM标记。

constructor9+

constructor()

TextDecoder的构造函数。

系统能力:  SystemCapability.Utils.Lang

示例:

let result = new util.TextDecoder();
let retStr = result.encoding;

create9+

static create(encoding?: string,options?: { fatal?: boolean; ignoreBOM?: boolean }): TextDecoder

替代有参构造功能。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
encodingstring编码格式,默认值是'utf-8'。
optionsObject解码相关选项参数,存在两个属性fatal和ignoreBOM。

表1.1options

名称参数类型必填说明
fatalboolean是否显示致命错误,默认值是false。
ignoreBOMboolean是否忽略BOM标记,默认值是false。

示例:

let result = util.TextDecoder.create('utf-8', { ignoreBOM : true })
let retStr = result.encoding

decodeWithStream9+

decodeWithStream(input: Uint8Array, options?: { stream?: boolean }): string

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
inputUint8Array符合格式需要解码的数组。
optionsObject解码相关选项参数。

表2 options

名称参数类型必填说明
streamboolean在随后的decodeWithStream()调用中是否跟随附加数据块。如果以块的形式处理数据,则设置为true;如果处理最后的数据块或数据未分块,则设置为false。默认为false。

返回值:

类型说明
string解码后的数据。

示例:

let textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true});
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.decodeWithStream( result , {stream: false});
console.log("retStr = " + retStr);

constructor(deprecated)

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

TextDecoder的构造函数。

说明:

从API version 7开始支持,从API version 9开始废弃,建议使用[create9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
encodingstring编码格式,默认值是'utf-8'。
optionsObject解码相关选项参数,存在两个属性fatal和ignoreBOM。

表1 options

名称参数类型必填说明
fatalboolean是否显示致命错误,默认值是false。
ignoreBOMboolean是否忽略BOM标记,默认值是false。

示例:

let textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true});

decode(deprecated)

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

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

说明:

从API version 7开始支持,从API version 9开始废弃,建议使用[decodeWithStream9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
inputUint8Array符合格式需要解码的数组。
optionsObject解码相关选项参数。

表2 options

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

返回值:

类型说明
string解码后的数据。

示例:

let textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true});
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);

TextEncoder

TextEncoder用于将字符串编码为字节数组,支持多种编码格式,包括utf-8、utf-16le/be等。需要注意的是,在使用TextEncoder进行编码时,不同编码格式下字符所占的字节数是不同的。例如,utf-8编码下中文字符通常占3个字节,而utf-16le/be编码下中文字符通常占2个字节。因此,在使用TextEncoder时需要明确指定要使用的编码格式,以确保编码结果正确。

属性

系统能力:  以下各项对应的系统能力均为SystemCapability.Utils.Lang。

名称类型可读可写说明
encodingstring编码格式,默认值是'utf-8'。

constructor

constructor()

TextEncoder的构造函数。

系统能力:  SystemCapability.Utils.Lang

示例:

let textEncoder = new util.TextEncoder();

constructor9+

constructor(encoding?: string)

TextEncoder的构造函数。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
encodingstring编码格式,默认值为'utf-8'。

示例:

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

encodeInto9+

encodeInto(input?: string): Uint8Array

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
inputstring需要编码的字符串,默认值是空字符串。

返回值:

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

示例:

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

encodeIntoUint8Array9+

encodeIntoUint8Array(input: string, dest: Uint8Array, ): { read: number; written: number }

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
inputstring需要编码的字符串。
destUint8ArrayUint8Array对象实例,用于将生成的UTF-8编码文本放入其中。

返回值:

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

示例:

let that = new util.TextEncoder()
let buffer = new ArrayBuffer(4)
let dest = new Uint8Array(buffer)
let result = new Object()
result = that.encodeIntoUint8Array('abcd', dest)

encodeInto(deprecated)

encodeInto(input: string, dest: Uint8Array, ): { read: number; written: number }

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

说明:

从API version 7开始支持,从API version 9开始废弃,建议使用[encodeIntoUint8Array9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
inputstring需要编码的字符串。
destUint8ArrayUint8Array对象实例,用于将生成的UTF-8编码文本放入其中。

返回值:

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

示例:

let that = new util.TextEncoder()
let buffer = new ArrayBuffer(4)
let dest = new Uint8Array(buffer)
let result = new Object()
result = that.encodeInto('abcd', dest)

encode(deprecated)

encode(input?: string): Uint8Array

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

说明:

从API version 7开始支持,从API version 9开始废弃,建议使用[encodeInto9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
inputstring需要编码的字符串,默认值是空字符串。

返回值:

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

示例:

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

RationalNumber8+

RationalNumber主要是对有理数进行比较,获取分子分母等方法。例如使用toString()方法可以将有理数转换为字符串形式,使用该类可以方便地进行有理数的各种操作。

constructor9+

constructor()

RationalNumber的构造函数。

系统能力:  SystemCapability.Utils.Lang

示例:

let rationalNumber = new util.RationalNumber();

parseRationalNumber9+

parseRationalNumber(numerator: number,denominator: number): RationalNumber

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
numeratornumber分子,整数类型。
denominatornumber分母,整数类型。

示例:

let rationalNumber = util.RationalNumber.parseRationalNumber(1,2)

createRationalFromString8+

static createRationalFromString​(rationalString: string): RationalNumber​

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
rationalStringstring字符串格式。

返回值:

类型说明
object返回有理数类的对象。

示例:

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

compare9+

compare​(another: RationalNumber): number​

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
anotherRationalNumber其他的有理数对象。

返回值:

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

示例:

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

valueOf8+

valueOf(): number

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

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
number返回整数或者浮点数的值。

示例:

let rationalNumber = new util.RationalNumber(1,2);
let result = rationalNumber.valueOf();

equals8+

equals​(obj: Object): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
objObject其他类型对象。

返回值:

类型说明
boolean如果给定对象与当前对象相同,则返回true;否则返回false。

示例:

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

getCommonFactor9+

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

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
number1number整数类型。
number2number整数类型。

返回值:

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

示例:

let rationalNumber = new util.RationalNumber(1,2);
let result = util.RationalNumber.getCommonFactor(4,6);

getNumerator8+

getNumerator​(): number

获取当前RationalNumber对象的分子。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
number返回RationalNumber对象的分子的值。

示例:

let rationalNumber = new util.RationalNumber(1,2);
let result = rationalNumber.getNumerator();

getDenominator8+

getDenominator​(): number

获取当前RationalNumber对象的分母。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
number返回RationalNumber对象的分母的值。

示例:

let rationalNumber = new util.RationalNumber(1,2);
let result = rationalNumber.getDenominator();

isZero8+

isZero​():boolean

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

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
boolean如果当前对象表示的值为0,则返回true;否则返回false。

示例:

let rationalNumber = new util.RationalNumber(1,2);
let result = rationalNumber.isZero();

isNaN8+

isNaN​(): boolean

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

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
boolean如果分母和分子都为0,则返回true;否则返回false。

示例:

let rationalNumber = new util.RationalNumber(1,2);
let result = rationalNumber.isNaN();

isFinite8+

isFinite​():boolean

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

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
boolean如果分母不为0,则返回true;否则返回false。

示例:

let rationalNumber = new util.RationalNumber(1,2);
let result = rationalNumber.isFinite();

toString8+

toString​(): string

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

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
string返回Numerator/Denominator格式的字符串,例如3/5,如果当前对象的分子和分母都为0,则返回NaN。

示例:

let rationalNumber = new util.RationalNumber(1,2);
let result = rationalNumber.toString();

constructor(deprecated)

constructor(numerator: number,denominator: number)

RationalNumber的构造函数。

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[constructor9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
numeratornumber分子,整数类型。
denominatornumber分母,整数类型。

示例:

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

compareTo(deprecated)

compareTo​(another: RationalNumber): number​

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[compare9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
anotherRationalNumber其他的有理数对象。

返回值:

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

示例:

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

getCommonDivisor(deprecated)

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

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[getCommonFactor9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
number1number整数类型。
number2number整数类型。

返回值:

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

示例:

let rationalNumber = new util.RationalNumber(1,2);
let result = util.RationalNumber.getCommonDivisor(4,6);

LRUCache9+

LRUCache用于在缓存空间不够的时候,将近期最少使用的数据替换为新数据。此设计基于资源访问的考虑:近期访问的数据,可能在不久的将来会再次访问。于是最少访问的数据就是价值最小的数据,是最应该踢出缓存空间的数据。

属性

系统能力:  以下各项对应的系统能力均为SystemCapability.Utils.Lang。

名称类型可读可写说明
lengthnumber当前缓冲区中值的总数。

示例:

let pro = new util.LRUCache();
pro.put(2,10);
pro.put(1,8);
let result = pro.length;

constructor9+

constructor(capacity?: number)

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
capacitynumber指示要为缓冲区自定义的容量。

示例:

let lrubuffer= new util.LRUCache();

updateCapacity9+

updateCapacity(newCapacity: number): void

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
newCapacitynumber指示要为缓冲区自定义的容量。

示例:

let pro = new util.LRUCache();
pro.updateCapacity(100);

toString9+

toString(): string

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

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
string返回对象的字符串表示形式。

示例:

let pro: util.LRUCache<number, number> = new util.LRUCache();
pro.put(2,10);
pro.get(2);
pro.get(3);
console.log(pro.toString());
// 输出结果:LRUCache[ maxSize = 64, hits = 1, misses = 1, hitRate = 50% ]
// maxSize: 缓存区最大值 hits: 查询值匹配成功的次数 misses: 查询值匹配失败的次数 hitRate: 查询值匹配率

getCapacity9+

getCapacity(): number

获取当前缓冲区的容量。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
number返回当前缓冲区的容量。

示例:

let pro = new util.LRUCache();
let result = pro.getCapacity();

clear9+

clear(): void

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

系统能力:  SystemCapability.Utils.Lang

示例:

let pro = new util.LRUCache();
pro.put(2,10);
let result = pro.length;
pro.clear();

getCreateCount9+

getCreateCount(): number

获取创建对象的次数。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
number返回创建对象的次数。

示例:

// 创建新类ChildLRUCache继承LRUCache,重写createDefault方法,返回一个非undefined的值。
class ChildLRUCache extends util.LRUCache<number, number> {constructor() {super();}createDefault(key: number): number {return key;}
}
let lru = new ChildLRUCache();
lru.put(2,10);
lru.get(3);
lru.get(5);
let res = lru.getCreateCount();

getMissCount9+

getMissCount(): number

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

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
number返回查询值不匹配的次数。

示例:

let pro = new util.LRUCache();
pro.put(2,10);
pro.get(2);
let result = pro.getMissCount();

getRemovalCount9+

getRemovalCount(): number

获取缓冲区键值对回收的次数。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
number返回缓冲区键值对回收的次数。

示例:

let pro = new util.LRUCache();
pro.put(2,10);
pro.updateCapacity(2);
pro.put(50,22);
let result = pro.getRemovalCount();

getMatchCount9+

getMatchCount(): number

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

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
number返回查询值匹配成功的次数。

示例:

let pro = new util.LRUCache();
pro.put(2,10);
pro.get(2);
let result = pro.getMatchCount();

getPutCount9+

getPutCount(): number

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

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
number返回将值添加到缓冲区的次数。

示例:

let pro = new util.LRUCache();
pro.put(2,10);
let result = pro.getPutCount();

isEmpty9+

isEmpty(): boolean

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

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
boolean如果当前缓冲区不包含任何值,则返回true。

示例:

let pro = new util.LRUCache();
pro.put(2,10);
let result = pro.isEmpty();

get9+

get(key: K): V | undefined

表示要查询的键。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
keyK要查询的键。

返回值:

类型说明
Vundefined如果指定的键存在于缓冲区中,则返回与键关联的值;否则返回undefined。

示例:

let pro = new util.LRUCache();
pro.put(2,10);
let result  = pro.get(2);

put9+

put(key: K,value: V): V

将键值对添加到缓冲区。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
keyK要添加的密钥。
valueV指示与要添加的键关联的值。

返回值:

类型说明
V返回与添加的键关联的值;如果要添加的键已经存在,则返回原始值,如果键或值为空,则抛出此异常。

示例:

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

values9+

values(): V[]

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

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
V []按从最近访问到最近最少访问的顺序返回当前缓冲区中所有值的列表。

示例:

let pro = new util.LRUCache();
pro.put(2,10);
pro.put(2,"anhu");
pro.put("afaf","grfb");
let result = pro.values();

keys9+

keys(): K[]

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

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
K []按升序返回当前缓冲区中所有键的列表,从最近访问到最近最少访问。

示例:

let pro = new util.LRUCache();
pro.put(2,10);
let result = pro.keys();

remove9+

remove(key: K): V | undefined

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
keyK要删除的密钥。

返回值:

类型说明
Vundefined返回一个包含已删除键值对的Optional对象;如果key不存在,则返回一个空的Optional对象,如果key为null,则抛出异常。

示例:

let pro = new util.LRUCache();
pro.put(2,10);
let result = pro.remove(20);

afterRemoval9+

afterRemoval(isEvict: boolean,key: K,value: V,newValue: V): void

删除值后执行后续操作。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
isEvictboolean因容量不足而调用该方法时,参数值为true,其他情况为false。
keyK表示删除的键。
valueV表示删除的值。
newValueV如果已调用put方法并且要添加的键已经存在,则参数值是关联的新值。其他情况下参数值为空。

示例:

class ChildLRUCache<K, V> extends util.LRUCache<K, V> {constructor(capacity?: number) {super(capacity);}afterRemoval(isEvict: boolean, key: K, value: V, newValue: V): void {if (isEvict === true) {console.info('key: ' + key);console.info('value: ' + value);console.info('newValue: ' + newValue);}}
}
let lru: ChildLRUCache<number, number>= new ChildLRUCache(2);
lru.put(1, 1);
lru.put(2, 2);
lru.put(3, 3);

contains9+

contains(key: K): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
keyK表示要检查的键。

返回值:

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

示例:

let pro = new util.LRUCache();
pro.put(2,10);
let obj = {1:"key"};
let result = pro.contains(obj);

createDefault9+

createDefault(key: K): V

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
keyK表示丢失的键。

返回值:

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

示例:

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

entries9+

entries(): IterableIterator<[K,V]>

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

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
[K, V]返回一个可迭代数组。

示例:

let pro: util.LRUCache<number, number> = new util.LRUCache();
pro.put(2,10);
pro.put(3,15);
let pair:Iterable<Object[]> = pro.entries();
let arrayValue = Array.from(pair);
for (let value of arrayValue) {console.log(value[0]+ ', '+ value[1]);
}

[Symbol.iterator]9+

[Symbol.iterator](): IterableIterator<[K, V]>

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

系统能力:  SystemCapability.Utils.Lang

返回值:

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

示例:

let pro: util.LRUCache<number, number> = new util.LRUCache();
pro.put(2,10);
pro.put(3,15);
let pair:Iterable<Object[]> = pro[Symbol.iterator]();
let arrayValue = Array.from(pair);
for (let value of arrayValue) {console.log(value[0]+ ', '+ value[1]);
}

ScopeComparable8+

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

系统能力:  SystemCapability.Utils.Lang

compareTo8+

compareTo(other: ScopeComparable): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
other[ScopeComparable]表示要比较的值。

返回值:

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

示例:

构造新类,实现compareTo方法。后续示例代码中,均以此Temperature类为例。

class Temperature{// 当使用ArkTS语言开发时,需要补充以下代码:// private readonly _temp: Temperature;constructor(value) {this._temp = value;}compareTo(value) {return this._temp >= value.getTemp();}getTemp() {return this._temp;}toString() {return this._temp.toString();}
}

ScopeType8+

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

系统能力:  SystemCapability.Utils.Lang

类型说明
number表示值的类型为数字。
[ScopeComparable]表示值的类型为ScopeComparable。

ScopeHelper9+

ScopeHelper接口用于描述一个字段的有效范围。ScopeHelper实例的构造函数用于创建具有指定下限和上限的对象,并要求这些对象必须具有可比性。

constructor9+

constructor(lowerObj: ScopeType, upperObj: ScopeType)

用于创建指定下限和上限的作用域实例的构造函数,返回一个ScopeHelper对象。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
lowerObj[ScopeType]指定作用域实例的下限。
upperObj[ScopeType]指定作用域实例的上限。

示例:

let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let range = new util.ScopeHelper(tempLower, tempUpper);

toString9+

toString(): string

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

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
string返回包含当前范围对象的字符串表示形式。

示例:

let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let range = new util.ScopeHelper(tempLower, tempUpper);
let result = range.toString();

intersect9+

intersect(range: ScopeHelper): ScopeHelper

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
range[ScopeHelper]传入一个给定范围。

返回值:

类型说明
[ScopeHelper]返回给定范围和当前范围的交集。

示例:

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);
range.intersect(rangeFir);

intersect9+

intersect(lowerObj:ScopeType,upperObj:ScopeType):ScopeHelper

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
lowerObj[ScopeType]给定范围的下限。
upperObj[ScopeType]给定范围的上限。

返回值:

类型说明
[ScopeHelper]返回当前范围与给定下限和上限范围的交集。

示例:

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);

getUpper9+

getUpper(): ScopeType

获取当前范围的上限。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
[ScopeType]返回当前范围的上限值。

示例:

let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let range = new util.ScopeHelper(tempLower, tempUpper);
let result = range.getUpper();

getLower9+

getLower(): ScopeType

获取当前范围的下限。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
[ScopeType]返回当前范围的下限值。

示例:

let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let range = new util.ScopeHelper(tempLower, tempUpper);
let result = range.getLower();

expand9+

expand(lowerObj: ScopeType,upperObj: ScopeType): ScopeHelper

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
lowerObj[ScopeType]给定范围的下限。
upperObj[ScopeType]给定范围的上限。

返回值:

类型说明
[ScopeHelper]返回当前范围和给定下限和上限的并集。

示例:

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);

expand9+

expand(range: ScopeHelper): ScopeHelper

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
range[ScopeHelper]传入一个给定范围。

返回值:

类型说明
[ScopeHelper]返回包括当前范围和给定范围的并集。

示例:

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);

expand9+

expand(value: ScopeType): ScopeHelper

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
value[ScopeType]传入一个给定值。

返回值:

类型说明
[ScopeHelper]返回包括当前范围和给定值的并集。

示例:

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);

contains9+

contains(value: ScopeType): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
value[ScopeType]传入一个给定值。

返回值:

类型说明
boolean如果给定值包含在当前范围内返回true,否则返回false。

示例:

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.contains(tempMiDF);

contains9+

contains(range: ScopeHelper): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
range[ScopeHelper]传入一个给定范围。

返回值:

类型说明
boolean如果给定范围包含在当前范围内返回true,否则返回false。

示例:

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);

clamp9+

clamp(value: ScopeType): ScopeType

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
value[ScopeType]传入的给定值。

返回值:

类型说明
[ScopeType]如果传入的value小于下限,则返回lowerObj;如果大于上限值则返回upperObj;如果在当前范围内,则返回value。

示例:

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);

Base64Helper9+

Base64编码表包含A-Z、a-z、0-9这62个字符,以及"+"和"/"这两个特殊字符。在编码时,将原始数据按3个字节一组进行划分,得到若干个6位的数字,然后使用Base64编码表中对应的字符来表示这些数字。如果最后剩余1或2个字节,则需要使用"="字符进行补齐。

constructor9+

constructor()

Base64Helper的构造函数。

系统能力:  SystemCapability.Utils.Lang

示例:

let base64 = new  util.Base64Helper();

encodeSync9+

encodeSync(src: Uint8Array): Uint8Array

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
srcUint8Array编码输入Uint8数组。

返回值:

类型说明
Uint8Array返回编码后新分配的Uint8数组。

示例:

let that = new util.Base64Helper();
let array = new Uint8Array([115,49,51]);
let result = that.encodeSync(array);

encodeToStringSync9+

encodeToStringSync(src: Uint8Array): string

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
srcUint8Array编码输入Uint8数组。

返回值:

类型说明
string返回编码后的字符串。

示例:

let that = new util.Base64Helper();
let array = new Uint8Array([115,49,51]);
let result = that.encodeToStringSync(array);

decodeSync9+

decodeSync(src: Uint8Array | string): Uint8Array

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
srcUint8Arraystring解码输入Uint8数组或者字符串。

返回值:

类型说明
Uint8Array返回解码后新分配的Uint8数组。

示例:

let that = new util.Base64Helper();
let buff = 'czEz';
let result = that.decodeSync(buff);

encode9+

encode(src: Uint8Array): Promise<Uint8Array>

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
srcUint8Array异步编码输入Uint8数组。

返回值:

类型说明
Promise<Uint8Array>返回异步编码后新分配的Uint8数组。

示例:

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())}
})

encodeToString9+

encodeToString(src: Uint8Array): Promise<string>

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
srcUint8Array异步编码输入Uint8数组。

返回值:

类型说明
Promise<string>返回异步编码后的字符串。

示例:

let that = new util.Base64Helper();
let array = new Uint8Array([115,49,51]);
that.encodeToString(array).then(val=>{    console.log(val)
})

decode9+

decode(src: Uint8Array | string): Promise<Uint8Array>

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
srcUint8Arraystring异步解码输入Uint8数组或者字符串。

返回值:

类型说明
Promise<Uint8Array>返回异步解码后新分配的Uint8数组。

示例:

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())}
})

types8+

types为不同类型的内置对象提供类型检查,可以避免由于类型错误导致的异常或崩溃。该模块包含了多个工具函数,用于判断JS对象是否属于各种类型例如:ArrayBuffer、Map、Set等。

constructor8+

constructor()

Types的构造函数。

系统能力:  SystemCapability.Utils.Lang

示例:

let type = new util.types();

isAnyArrayBuffer8+

isAnyArrayBuffer(value: Object): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是ArrayBuffer类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isAnyArrayBuffer(new ArrayBuffer(0));

isArrayBufferView8+

isArrayBufferView(value: Object): boolean

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

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的ArrayBufferView辅助类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isArrayBufferView(new Int8Array([]));

isArgumentsObject8+

isArgumentsObject(value: Object): boolean

检查输入的value是否是一个arguments对象类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的arguments类型为true,反之为false。

示例:

let that = new util.types();
function foo() {var result = that.isArgumentsObject(arguments);
}
let f = foo();

isArrayBuffer8+

isArrayBuffer(value: Object): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的ArrayBuffer类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isArrayBuffer(new ArrayBuffer(0));

isAsyncFunction8+

isAsyncFunction(value: Object): boolean

检查输入的value是否是一个异步函数类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的异步函数类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isAsyncFunction(async function foo() {});

isBooleanObject8+

isBooleanObject(value: Object): boolean

检查输入的value是否是一个Boolean对象类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Boolean对象类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isBooleanObject(new Boolean(true));

isBoxedPrimitive8+

isBoxedPrimitive(value: Object): boolean

检查输入的value是否是Boolean或Number或String或Symbol对象类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Boolean或Number或String或Symbol对象类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isBoxedPrimitive(new Boolean(false));

isDataView8+

isDataView(value: Object): boolean

检查输入的value是否是DataView类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的DataView对象类型为true,反之为false。

示例:

let that = new util.types();
const ab = new ArrayBuffer(20);
let result = that.isDataView(new DataView(ab));

isDate8+

isDate(value: Object): boolean

检查输入的value是否是Date类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Date对象类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isDate(new Date());

isExternal8+

isExternal(value: Object): boolean

检查输入的value是否是native External类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含native External类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isExternal(true);

isFloat32Array8+

isFloat32Array(value: Object): boolean

检查输入的value是否是Float32Array数组类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Float32Array数组类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isFloat32Array(new Float32Array());

isFloat64Array8+

isFloat64Array(value: Object): boolean

检查输入的value是否是Float64Array数组类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Float64Array数组类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isFloat64Array(new Float64Array());

isGeneratorFunction8+

isGeneratorFunction(value: Object): boolean

检查输入的value是否是generator函数类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的generator函数类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isGeneratorFunction(function* foo() {});

isGeneratorObject8+

isGeneratorObject(value: Object): boolean

检查输入的value是否是generator对象类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的generator对象类型为true,反之为false。

示例:

let that = new util.types();
function* foo() {}
const generator = foo();
let result = that.isGeneratorObject(generator);

isInt8Array8+

isInt8Array(value: Object): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Int8Array数组类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isInt8Array(new Int8Array([]));

isInt16Array8+

isInt16Array(value: Object): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Int16Array数组类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isInt16Array(new Int16Array([]));

isInt32Array8+

isInt32Array(value: Object): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Int32Array数组类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isInt32Array(new Int32Array([]));

isMap8+

isMap(value: Object): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Map类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isMap(new Map());

isMapIterator8+

isMapIterator(value: Object): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Map的Iterator类型为true,反之为false。

示例:

let that = new util.types();
const map = new Map();
let result = that.isMapIterator(map.keys());

isNativeError8+

isNativeError(value: Object): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Error类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isNativeError(new TypeError());

isNumberObject8+

isNumberObject(value: Object): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Number对象类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isNumberObject(new Number(0));

isPromise8+

isPromise(value: Object): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Promise类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isPromise(Promise.resolve(1));

isProxy8+

isProxy(value: Object): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Proxy类型为true,反之为false。

示例:

let that = new util.types();
const target = {};
const proxy = new Proxy(target, {});
let result = that.isProxy(proxy);

isRegExp8+

isRegExp(value: Object): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的RegExp类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isRegExp(new RegExp('abc'));

isSet8+

isSet(value: Object): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Set类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isSet(new Set());

isSetIterator8+

isSetIterator(value: Object): boolean

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

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Set的Iterator类型为true,反之为false。

示例:

let that = new util.types();
const set = new Set();
let result = that.isSetIterator(set.keys());

isStringObject8+

isStringObject(value: Object): boolean

检查输入的value是否是String对象类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的String对象类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isStringObject(new String('foo'));

isSymbolObjec8+

isSymbolObject(value: Object): boolean

检查输入的value是否是Symbol对象类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Symbol对象类型为true,反之为false。

示例:

let that = new util.types();
const symbols = Symbol('foo');
let result = that.isSymbolObject(Object(symbols));

isTypedArray8+

isTypedArray(value: Object): boolean

检查输入的value是否是TypedArray类型的辅助类型。

TypedArray类型的辅助类型,包括Int8Array、Int16Array、Int32Array、Uint8Array、Uint8ClampedArray、Uint16Array、Uint32Array、Float32Array、Float64Array、DataView。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的TypedArray包含的类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isTypedArray(new Float64Array([]));

isUint8Array8+

isUint8Array(value: Object): boolean

检查输入的value是否是Uint8Array数组类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Uint8Array数组类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isUint8Array(new Uint8Array([]));

isUint8ClampedArray8+

isUint8ClampedArray(value: Object): boolean

检查输入的value是否是Uint8ClampedArray数组类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Uint8ClampedArray数组类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isUint8ClampedArray(new Uint8ClampedArray([]));

[](zh-cn/application-dev/reference/apis/js-apis-util.md · OpenHarmony/docs - Gitee.com)isUint16Array8+

isUint16Array(value: Object): boolean

检查输入的value是否是Uint16Array数组类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Uint16Array数组类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isUint16Array(new Uint16Array([]));

isUint32Array8+

isUint32Array(value: Object): boolean

检查输入的value是否是Uint32Array数组类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Uint32Array数组类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isUint32Array(new Uint32Array([]));

isWeakMap8+

isWeakMap(value: Object): boolean

检查输入的value是否是WeakMap类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的WeakMap类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isWeakMap(new WeakMap());

isWeakSet8+

isWeakSet(value: Object): boolean

检查输入的value是否是WeakSet类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的WeakSet类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isWeakSet(new WeakSet());

isBigInt64Array8+

isBigInt64Array(value: Object): boolean

检查输入的value是否是BigInt64Array类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的BigInt64Array类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isBigInt64Array(new BigInt64Array([]));

isBigUint64Array8+

isBigUint64Array(value: Object): boolean

检查输入的value是否是BigUint64Array类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的BigUint64Array类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isBigUint64Array(new BigUint64Array([]));

isModuleNamespaceObject8+

isModuleNamespaceObject(value: Object): boolean

检查输入的value是否是Module Namespace Object类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的Module Namespace Object类型为true,反之为false。

示例:

import url from '@ohos.url'
let that = new util.types();
let result = that.isModuleNamespaceObject(url);

isSharedArrayBuffer8+

isSharedArrayBuffer(value: Object): boolean

检查输入的value是否是SharedArrayBuffer类型。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueObject待检测对象。

返回值:

类型说明
boolean判断的结果,如果是内置包含的SharedArrayBuffer类型为true,反之为false。

示例:

let that = new util.types();
let result = that.isSharedArrayBuffer(new SharedArrayBuffer(0));

LruBuffer(deprecated)

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache9+]替代。

属性

系统能力:  以下各项对应的系统能力均为SystemCapability.Utils.Lang。

名称类型可读可写说明
lengthnumber当前缓冲区中值的总数。

示例:

let pro = new util.LruBuffer();
pro.put(2,10);
pro.put(1,8);
let result = pro.length;

constructor(deprecated)

constructor(capacity?: number)

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.constructor9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
capacitynumber指示要为缓冲区自定义的容量。

示例:

let lrubuffer= new util.LruBuffer();

updateCapacity(deprecated)

updateCapacity(newCapacity: number): void

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.updateCapacity9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
newCapacitynumber指示要为缓冲区自定义的容量。

示例:

let pro = new util.LruBuffer();
pro.updateCapacity(100);

toString(deprecated)

toString(): string

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.toString9+]替代。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
string返回对象的字符串表示形式。

示例:

let pro = new util.LruBuffer();
pro.put(2,10);
pro.get(2);
pro.remove(20);
let result = pro.toString();

getCapacity(deprecated)

getCapacity(): number

获取当前缓冲区的容量。

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.getCapacity9+]替代。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
number返回当前缓冲区的容量。

示例:

let pro = new util.LruBuffer();
let result = pro.getCapacity();

clear(deprecated)

clear(): void

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.clear9+]替代。

系统能力:  SystemCapability.Utils.Lang

示例:

let pro = new util.LruBuffer();
pro.put(2,10);
let result = pro.length;
pro.clear();

getCreateCount(deprecated)

getCreateCount(): number

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.getCreateCount9+]替代。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
number返回createDefault()返回值的次数。

示例:

let pro = new util.LruBuffer();
pro.put(1,8);
let result = pro.getCreateCount();

getMissCount(deprecated)

getMissCount(): number

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.getMissCount9+]替代。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
number返回查询值不匹配的次数。

示例:

let pro = new util.LruBuffer();
pro.put(2,10);
pro.get(2);
let result = pro.getMissCount();

getRemovalCount(deprecated)

getRemovalCount(): number

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.getRemovalCount9+]替代。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
number返回从缓冲区中驱逐的次数。

示例:

let pro = new util.LruBuffer();
pro.put(2,10);
pro.updateCapacity(2);
pro.put(50,22);
let result = pro.getRemovalCount();

getMatchCount(deprecated)

getMatchCount(): number

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.getMatchCount9+]替代。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
number返回查询值匹配成功的次数。

示例:

let pro = new util.LruBuffer();
pro.put(2,10);
pro.get(2);
let result = pro.getMatchCount();

getPutCount(deprecated)

getPutCount(): number

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.getPutCount9+]替代。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
number返回将值添加到缓冲区的次数。

示例:

let pro = new util.LruBuffer();
pro.put(2,10);
let result = pro.getPutCount();

isEmpty(deprecated)

isEmpty(): boolean

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.isEmpty9+]替代。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
boolean如果当前缓冲区不包含任何值,则返回true。

示例:

let pro = new util.LruBuffer();
pro.put(2,10);
let result = pro.isEmpty();

get(deprecated)

get(key: K): V | undefined

表示要查询的键。

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.get9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
keyK要查询的键。

返回值:

类型说明
Vundefined如果指定的键存在于缓冲区中,则返回与键关联的值;否则返回undefined。

示例:

let pro = new util.LruBuffer();
pro.put(2,10);
let result  = pro.get(2);

put(deprecated)

put(key: K,value: V): V

将键值对添加到缓冲区。

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.put9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
keyK要添加的密钥。
valueV指示与要添加的键关联的值。

返回值:

类型说明
V返回与添加的键关联的值;如果要添加的键已经存在,则返回原始值,如果键或值为空,则抛出此异常。

示例:

let pro = new util.LruBuffer();
let result = pro.put(2,10);

values(deprecated)

values(): V[]

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.values9+]替代。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
V []按从最近访问到最近最少访问的顺序返回当前缓冲区中所有值的列表。

示例:

let pro = new util.LruBuffer();
pro.put(2,10);
pro.put(2,"anhu");
pro.put("afaf","grfb");
let result = pro.values();

keys(deprecated)

keys(): K[]

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.keys9+]替代。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
K []按升序返回当前缓冲区中所有键的列表,从最近访问到最近最少访问。

示例:

let pro = new util.LruBuffer();
pro.put(2,10);
let result = pro.keys();

remove(deprecated)

remove(key: K): V | undefined

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.remove9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
keyK要删除的密钥。

返回值:

类型说明
Vundefined返回一个包含已删除键值对的Optional对象;如果key不存在,则返回一个空的Optional对象,如果key为null,则抛出异常。

示例:

let pro = new util.LruBuffer();
pro.put(2,10);
let result = pro.remove(20);

afterRemoval(deprecated)

afterRemoval(isEvict: boolean,key: K,value: V,newValue: V): void

删除值后执行后续操作。

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.afterRemoval9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
isEvictboolean因容量不足而调用该方法时,参数值为true,其他情况为false。
keyK表示删除的键。
valueV表示删除的值。
newValueV如果已调用put方法并且要添加的键已经存在,则参数值是关联的新值。其他情况下参数值为空。

示例:

class ChildLruBuffer<K, V> extends util.LruBuffer<K, V> {constructor(capacity?: number) {super(capacity);}afterRemoval(isEvict: boolean, key: K, value: V, newValue: V): void {if (isEvict === true) {console.info('key: ' + key);console.info('value: ' + value);console.info('newValue: ' + newValue);}}
}
let lru: ChildLruBuffer<number, number> = new ChildLruBuffer(2);
lru.put(11, 1);
lru.put(22, 2);
lru.put(33, 3);

contains(deprecated)

contains(key: K): boolean

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.contains9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
keyK表示要检查的键。

返回值:

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

示例:

let pro = new util.LruBuffer();
pro.put(2,10);
let result = pro.contains(20);

createDefault(deprecated)

createDefault(key: K): V

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.createDefault9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
keyK表示丢失的键。

返回值:

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

示例:

let pro = new util.LruBuffer();
let result = pro.createDefault(50);

entries(deprecated)

entries(): IterableIterator<[K,V]>

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.entries9+]替代。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
[K, V]返回一个可迭代数组。

示例:

let pro = new util.LruBuffer();
pro.put(2,10);
let result = pro.entries();

Symbol.iterator

[Symbol.iterator](): IterableIterator<[K, V]>

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[LRUCache.Symbol.iterator9+]替代。

系统能力:  SystemCapability.Utils.Lang

返回值:

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

示例:

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

Scope(deprecated)

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper9+]替代。

constructor(deprecated)

constructor(lowerObj: ScopeType, upperObj: ScopeType)

用于创建指定下限和上限的作用域实例的构造函数,返回一个Scope对象。

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.constructor9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
lowerObj[ScopeType]指定作用域实例的下限。
upperObj[ScopeType]指定作用域实例的上限。

示例:

let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let range = new util.Scope(tempLower, tempUpper);

toString(deprecated)

toString(): string

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.toString9+]替代。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
string返回包含当前范围对象的字符串表示形式。

示例:

let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let range = new util.Scope(tempLower, tempUpper);
let result = range.toString();

intersect(deprecated)

intersect(range: Scope): Scope

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.intersect9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
range[Scope]()传入一个给定范围。

返回值:

类型说明
[Scope]()返回给定范围和当前范围的交集。

示例:

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 );

intersect(deprecated)

intersect(lowerObj:ScopeType,upperObj:ScopeType):Scope

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用[ScopeHelper.intersect9+]替代。

系统能力:  SystemCapability.Utils.Lang

参数:

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

返回值:

类型说明
[Scope]()返回当前范围与给定下限和上限范围的交集。

示例:

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);

getUpper(deprecated)

getUpper(): ScopeType

获取当前范围的上限。

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用ScopeHelper.getUpper9+替代。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
ScopeType返回当前范围的上限值。

示例:

let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let range = new util.Scope(tempLower, tempUpper);
let result = range.getUpper();

getLower(deprecated)

getLower(): ScopeType

获取当前范围的下限。

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用ScopeHelper.getLower9+替代。

系统能力:  SystemCapability.Utils.Lang

返回值:

类型说明
ScopeType返回当前范围的下限值。

示例:

let tempLower = new Temperature(30);
let tempUpper = new Temperature(40);
let range = new util.Scope(tempLower, tempUpper);
let result = range.getLower();

expand(deprecated)

expand(lowerObj: ScopeType,upperObj: ScopeType): Scope

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用ScopeHelper.expand9+替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
lowerObjScopeType给定范围的下限。
upperObjScopeType给定范围的上限。

返回值:

类型说明
Scope返回当前范围和给定下限和上限的并集。

示例:

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);

expand(deprecated)

expand(range: Scope): Scope

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用ScopeHelper.expand9+替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
rangeScope传入一个给定范围。

返回值:

类型说明
Scope返回包括当前范围和给定范围的并集。

示例:

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);

expand(deprecated)

expand(value: ScopeType): Scope

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用ScopeHelper.expand9+替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueScopeType传入一个给定值。

返回值:

类型说明
Scope返回包括当前范围和给定值的并集。

示例:

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);

contains(deprecated)

contains(value: ScopeType): boolean

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用ScopeHelper.contains9+替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueScopeType传入一个给定值。

返回值:

类型说明
boolean如果给定值包含在当前范围内返回true,否则返回false。

示例:

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);

contains(deprecated)

contains(range: Scope): boolean

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用ScopeHelper.contains9+替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
rangeScope传入一个给定范围。

返回值:

类型说明
boolean如果给定范围包含在当前范围内返回true,否则返回false。

示例:

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);

clamp(deprecated)

clamp(value: ScopeType): ScopeType

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用ScopeHelper.clamp9+替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
valueScopeType传入的给定值。

返回值:

类型说明
ScopeType如果传入的value小于下限,则返回lowerObj;如果大于上限值则返回upperObj;如果在当前范围内,则返回value。

示例:

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);

Base64(deprecated)

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用Base64Helper9+替代。

constructor(deprecated)

constructor()

Base64的构造函数。

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用Base64Helper.constructor9+替代。

系统能力:  SystemCapability.Utils.Lang

示例:

let base64 = new  util.Base64();

encodeSync(deprecated)

encodeSync(src: Uint8Array): Uint8Array

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用Base64Helper.encodeSync9+替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
srcUint8Array编码输入Uint8数组。

返回值:

类型说明
Uint8Array返回编码后新分配的Uint8数组。

示例:

let that = new util.Base64();
let array = new Uint8Array([115,49,51]);
let result = that.encodeSync(array);

encodeToStringSync(deprecated)

encodeToStringSync(src: Uint8Array): string

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用Base64Helper.encodeToStringSync9+替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
srcUint8Array编码输入Uint8数组。

返回值:

类型说明
string返回编码后的字符串。

示例:

let that = new util.Base64();
let array = new Uint8Array([115,49,51]);
let result = that.encodeToStringSync(array);

decodeSync(deprecated)

decodeSync(src: Uint8Array | string): Uint8Array

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用Base64Helper.decodeSync9+替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
srcUint8Arraystring解码输入Uint8数组或者字符串。

返回值:

类型说明
Uint8Array返回解码后新分配的Uint8数组。

示例:

let that = new util.Base64();
let buff = 'czEz';
let result = that.decodeSync(buff);

encode(deprecated)

encode(src: Uint8Array): Promise<Uint8Array>

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用Base64Helper.encode9+替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
srcUint8Array异步编码输入Uint8数组。

返回值:

类型说明
Promise<Uint8Array>返回异步编码后新分配的Uint8数组。

示例:

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())}
})

encodeToString(deprecated)

encodeToString(src: Uint8Array): Promise<string>

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用Base64Helper.encodeToString9+替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
srcUint8Array异步编码输入Uint8数组。

返回值:

类型说明
Promise<string>返回异步编码后的字符串。

示例:

let that = new util.Base64();
let array = new Uint8Array([115,49,51]);
that.encodeToString(array).then(val=>{    console.log(val)
})

HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿

搜狗高速浏览器截图20240326151450.png

decode(deprecated)

decode(src: Uint8Array | string): Promise<Uint8Array>

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

说明:

从API version 8开始支持,从API version 9开始废弃,建议使用Base64Helper.decode9+替代。

系统能力:  SystemCapability.Utils.Lang

参数:

参数名类型必填说明
srcUint8Arraystring异步解码输入Uint8数组或者字符串。

返回值:

类型说明
Promise<Uint8Array>返回异步解码后新分配的Uint8数组。

示例:

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())}
})

鸿蒙开发岗位需要掌握那些核心要领?

目前还有很多小伙伴不知道要学习哪些鸿蒙技术?不知道重点掌握哪些?为了避免学习时频繁踩坑,最终浪费大量时间的。

自己学习时必须要有一份实用的鸿蒙(Harmony NEXT)资料非常有必要。 这里我推荐,根据鸿蒙开发官网梳理与华为内部人员的分享总结出的开发文档。内容包含了:【ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。

废话就不多说了,接下来好好看下这份资料。

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。鸿蒙OpenHarmony知识←前往。下面是鸿蒙开发的学习路线图。

针对鸿蒙成长路线打造的鸿蒙学习文档。鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。

其中内容包含:

《鸿蒙开发基础》鸿蒙OpenHarmony知识←前往

  1. ArkTS语言
  2. 安装DevEco Studio
  3. 运用你的第一个ArkTS应用
  4. ArkUI声明式UI开发
  5. .……

《鸿蒙开发进阶》鸿蒙OpenHarmony知识←前往

  1. Stage模型入门
  2. 网络管理
  3. 数据管理
  4. 电话服务
  5. 分布式应用开发
  6. 通知与窗口管理
  7. 多媒体技术
  8. 安全技能
  9. 任务管理
  10. WebGL
  11. 国际化开发
  12. 应用测试
  13. DFX面向未来设计
  14. 鸿蒙系统移植和裁剪定制
  15. ……

《鸿蒙开发实战》鸿蒙OpenHarmony知识←前往

  1. ArkTS实践
  2. UIAbility应用
  3. 网络案例
  4. ……

最后

鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/3215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5款好用的监控员工电脑软件推荐 (如何监控员工上班工作情况)

在现代的商业环境中&#xff0c;管理和监控员工的工作内容是至关重要的。 为了确保员工的工作效率和质量&#xff0c;公司需要使用一些工具来监控他们的工作进程。 以下是五款实用的监控员工工作内容的软件。 域智盾软件 域智盾是一款专为企业打造的智能管理系统。 它借助人…

Vivado-IP-DDS and Testbench Learning

DDS内部结构 实现流程 首先新建一个工程&#xff0c;创建bd文件&#xff0c;添加DDS Compiler核&#xff0c;此处不多赘述 Block Design 在观测输出的信号时&#xff0c;需要将最高位符号位的信号取反&#xff0c;这样才能输出正弦波&#xff0c;否则输出的波形如下图所示 将t…

暴雨亮相CCBN2024 助力广电行业数智化转型

4月23日&#xff0c;第三十届中国国际广播电视信息网络展览会&#xff08;简称CCBN2024&#xff09;在北京开展&#xff0c;本次展览会由国家广播电视总局指导、广播电视科学研究院主办&#xff0c;作为国内广电视听领域首个综合性、专业化、引领性、国际化科技产业盛会&#x…

第三节课,后端登录【1】

一、总任务 二、登录接口 get 请求&#xff0c;有缺陷&#xff0c;长度有限制 三、登录逻辑 四、代码书写位置 4.1 编写业务逻辑的位置 五、写代码 5.1 代码1 5.1.1 细节 按 CtrlAltShiftL ,快速格式化 5.1. 2 自动生成接口参数 先/** 再回车 效果图 5.2 按 alt enter …

ffmpeg与sdl的个人笔记

说明 这里的ffmpeg基础知识和sdl基础知识仅提及与示例代码相关的知识点, 进阶可学习雷神的博客。 https://blog.csdn.net/leixiaohua1020 当然&#xff0c;如代码写的有问题或有更好的见解&#xff0c;欢迎指正&#xff01; 音视频基础知识 在学习音视频理论知识时&#xff…

德思特车载天线方案:打造智能互联的公共安全交通网络

作者介绍 一、方案介绍 随着自动驾驶与智慧汽车概念的逐步推进&#xff0c;人们对汽车的交互性、智能性、互联性有了更高的要求。今天&#xff0c;大多数汽车制造商和供应商普遍将GNSS定位功能与其他信号如广播、电视、蓝牙、Wifi一起集成到汽车中&#xff0c;包括博世、大陆、…

LabVIEW学习记录2 - MySQL数据库连接与操作

LabVIEW学习记录2 - MySQL数据库连接与操作 一、前期准备1.1 windows下安装MySQL的ODBC驱动 二、LabVIEW创建MySQL 的UDL文件三、LabVIEW使用UDL文件进行MySQL数据库操作3.1 建立与数据库的连接&#xff1a;DB Tools Open Connection.vi3.2 断开与数据库的连接&#xff1a;DB T…

【C语言】贪吃蛇详解(附源码)

一、贪吃蛇实现效果 【C语言】贪吃蛇&#xff08;控制台&#xff09; 二、源码 &#x1f388;&#x1f388;&#x1f388;Snake 残风也想永存/C语言项目 - 码云 - 开源中国 (gitee.com)&#x1f388;&#x1f388;&#x1f388; 三、如何使用C语言去实现一个贪吃蛇&#xff1f…

【04-提升模型性能:集成学习与超参数优化】

文章目录 前言集成学习BaggingBoosting超参数优化随机搜索贝叶斯优化总结前言 在前几篇博文中,我们已经介绍了一些机器学习的基础知识、Scikit-learn的核心工具与技巧,以及如何评估模型性能。本篇博文将重点讲解两个可以显著提升机器学习模型性能的高级策略:集成学习和超参数…

【机器学习】集成学习---投票法(Voting)

一、引言 集成学习&#xff08;Ensemble Learning&#xff09;是机器学习领域中的一种重要策略&#xff0c;它通过结合多个模型的预测结果来提高整体性能。在单个模型容易过拟合或欠拟合的情况下&#xff0c;集成学习能够通过综合多个模型的优点来减少这种风险&#xff0c;从而…

【北京迅为】《iTOP龙芯2K1000开发指南》-第三部分 迅为龙芯开发板快速体验

龙芯2K1000处理器集成2个64位GS264处理器核&#xff0c;主频1GHz&#xff0c;以及各种系统IO接口&#xff0c;集高性能与高配置于一身。支持4G模块、GPS模块、千兆以太网、16GB固态硬盘、双路UART、四路USB、WIFI蓝牙二合一模块、MiniPCIE等接口、双路CAN总线、RS485总线&#…

使用navicate演示在 PostgreSQL 中使用 for 循环语句

1、简单循环示例 do $$ beginfor cnt in 1..10 loopraise notice cnt: %, cnt;end loop; end; $$ navicate中执行 2、循环查询 do $$ declare_record record; beginfor _record in (SELECT version,description FROM flyway_schema_history ORDER BY installed_rank desc li…

JavaScript:js实现在线五子棋人机(人人)对弈

在线五子棋人机对弈 全部使用前端技术,使用HTML,CSS以及JS进行实现. 棋盘在后端就是一个15*15的二维数组 页面设计 页面设计的比较粗糙 主要使用js自带的canvas画布进行绘画 HTML代码如下: <div class"outer"><canvas id"canvas" height&qu…

软件设计师-基础知识科目-计算题汇总1

1. 位运算&#xff1a; 略 2. 进制转换&#xff1a; 3. 计算内存存储容量&#xff1a; 前置概念&#xff1a;** 内存地址是16进制。 16进制后面的加上的字母H&#xff0c;表示数字为16进制。内存地址编址的单位是Byte&#xff0c;1K 1024B&#xff0c;1024用16进制表示为400H …

C语言 流程图与伪代码 缩减

本文 我们来说说流程图 伪代码和代码缩进 这些可以让我们在后面书写复杂逻辑时 不会感到 繁琐或逻辑混乱 流程图(Flowchart) 是用以算法、工作流或流程的一种框图表示&#xff0c;它以不同类型的框代表不同种类的步骤&#xff0c;每两个步骤之间则以箭头连接。 流程图是程序…

【UE C++】打印输出的两种方式

目录 一、UE_LOG 二、调试屏幕信息 一、UE_LOG 定义&#xff1a; UE_LOG 是一个将格式化消息记录到日志文件中的宏。 用法&#xff1a; UE_LOG(LogTemp, Warning, TEXT("Hello World")); 第一个输入参数 LogTemp 是提供给 DEFINE_LOG_CATEGORY 宏的类别名称。你…

OpenAIGPT-4.5提前曝光?

OpenAI GPT-4.5的神秘面纱&#xff1a;科技界的震撼新篇章 在人工智能的世界里&#xff0c;每一次技术的飞跃都不仅仅是一次更新&#xff0c;而是对未来无限可能的探索。近日&#xff0c;科技巨头OpenAI似乎再次站在了这场革命的前沿&#xff0c;其潜在的新产品——GPT-4.5 Tur…

使用gdb调试遇到No symbol table is loaded. Use the “file“ command.怎么办?

问题排查 出现下面问题&#xff0c;通常是没有处于调式模式环境下&#xff0c;所以我们需要在gcc指令后加 【-g】。 因为&#xff0c;我么的gcc编辑器默认是动态链接&#xff0c;而且是realese发布版本。 想要解决也很简单 主要思路就是在gcc -g。 在makefile文件如下进行修改即…

Unity | 集成 Protobuf(proto 转 cs 插件及序列化与反序列化)

1. 添加 dll 1. 下载 protobuf 源码 根据需要下载 protobuf 指定版本的源码&#xff0c;这里以 v3.21.12&#xff08;protobuf-csharp-3.21.12.zip&#xff09;为例&#xff1a; 下载地址&#xff1a;「https://github.com/protocolbuffers/protobuf/releases」 2. 下载 Vis…

常见内网代理工具及其应用

常见内网代理工具 1. 正向代理&#xff1a;Squid原理示例 2. 反向代理&#xff1a;Nginx原理示例 3. SOCKS代理&#xff1a;Shadowsocks原理示例 零基础入门学习路线视频配套资料&国内外网安书籍、文档网络安全面试题 常见的内网代理工具包括多种类型&#xff0c;如正向代理…