鸿蒙OS开发文档 第39页

鸿蒙OS LightweightSet

LightweightSet java.lang.Object |—ohos.utils.LightweightSet<E& public final class LightweightSet<E> extends Object implements Collection<E>, Set<E> 提供一个实现 Collection 和 Set 接口的容器。 LightweightSet 容器使用的内存比 HashSet 容器少,但在达到较大尺寸时可能会表现出较差的性能。 建议您在需要较少内存时使用此容器。 注意:只有从 LightweightSet 容器中读取数据时,线程才是安全的。 构造函数摘要 构造函数 描述 LightweightSet() 构造一个默认的 LightweightSet 容器。 LightweightSet(int capacity) 构造一个具有指定容量的 LightweightSet 容器。 LightweightSet(int capacity, boolean useIdentityHash) 构造一个具有指定容量的 LightweightSet 容器,并指定是否使用系统哈希方法来映射键。 LightweightSet(LightweightSet<? extends E> srcLightweightSet) 使用现有的 LightweightSet 容器构造一个新的 LightweightSet 容器。 方法总结 修饰符和类型 方法 描述 boolean add(E element) 将指定的元素对象添加到 LightweightSet 容器。 boolean addAll(Collection<? extends E> collection) 将指定 Collection 中的所有对象添加到 LightweightSet 容器。 boolean addAll(LightweightSet<? extends E> array) 将指定 LightweightSet 容器中的所有对象添加到当前 LightweightSet 容器中。 void clear() 清除 LightweightSet 容器。 boolean contains(Object key) 检查 LightweightSet 容器是否具有指定的键。 boolean containsAll(Collection<?> collection) 检查 LightweightSet 容器是否具有指定 Collection 的所有对象。 void ensureCapacity(int minimumCapacity) 保证 LightweightSet 容器的容量大于等于指定值,并且容器扩容后拥有所有原始对象。 boolean equals(Object obj) 检查 LightweightSet 容器的对象是否与指定的 Object 属于同一类型。 int hashCode() 获取 LightweightSet 容器的哈希值。 int indexOf(Object key) 获取LightweightSet容器中指定Object类型的key的索引。 boolean isEmpty() 检查 LightweightSet 容器是否没有对象。 IteratorE iterator() 获取一个可以操作LightweightSet容器的Iterator。 boolean remove(Object obj) 从 LightweightSet 容器中删除指定 Object 类型的对象。 boolean removeAll(Collection<?> collection) 从 LightweightSet 容器中删除指定 Collection 中包含的所有对象。 boolean removeAll(LightweightSet<? extends E> array) 从 LightweightSet 容器中删除指定 LightweightSet 容器中包含的所有对象。 E removeAt(int index) 从 LightweightSet 容器中删除由 index 标识的位置处的对象。 boolean retainAll(Collection<?> collection) 从 LightweightSet 容器中删除指定 Collection 中不存在的对象。 int size() 获取 LightweightSet 容器中的对象数。 Object[] toArray() 获取一个包含 LightweightSet 容器的所有对象的数组。 <T> T[] toArray(T[] array) 获取一个包含 LightweightSet 容器的所有对象的数组。 String toString() 获取包含 LightweightSet 容器的所有对象的字符串。 E valueAt(int index) 获取 LightweightSet 容器中由 index 标识的位置处的对象。 E valueAt(int index, E defaultKey) 获取 LightweightSet 容器中由 index 标识的位置处的对象。 从接口 java.util.Collection 继承的方法 parallelStream, removeIf, stream 从接口 java.lang.Iterable 继承的方法 forEach 从类 java.lang.Object 继承的方法...

鸿蒙OS LightweightMap

LightweightMap java.lang.Object |—ohos.utils.LightweightMap<K,V& public final class LightweightMap<K,V> extends Object implements Map<K,V> 提供一个实现 Map 接口的容器。 LightweightMap 容器使用的内存比 HashMap 容器少,但在达到较大尺寸时可能会表现出较差的性能。 建议您在需要较少内存时使用此容器。 注意:只有从 LightweightMap 容器中读取数据时,线程才是安全的。 嵌套类摘要 从接口 java.util.Map 继承的嵌套类/接口 Map.EntryK,V 构造函数摘要 构造函数 描述 LightweightMap() 构造一个默认的 LightweightMap 容器。 LightweightMap(int capacity) 构造一个具有指定容量的 LightweightMap 容器。 LightweightMap(int capacity, boolean useIdentityHash) 构造一个指定容量的 LightweightMap 容器,并指定是否使用系统哈希方法。 LightweightMap(LightweightMap<? extends K,? extends V> srcLightweightMap) 使用现有 LightweightMap 容器构造一个新的 LightweightMap 容器。 方法总结 修饰符和类型 方法 描述 void clear() 删除 LightweightMap 容器中的所有键值对映射。 boolean containsAll(Collection<?> collection) 检查 LightweightMap 容器是否具有指定 Collection 对象中的所有对象。 boolean containsKey(Object key) 检查 LightweightMap 容器是否具有与指定键相同的键。 boolean containsValue(Object value) 检查 LightweightMap 容器是否具有与指定值相同的值。 void ensureCapacity(int minimumCapacity) 保证 LightweightMap 容器的容量大于等于指定值,并且容器扩容后拥有所有原始对象。 SetMap.EntryK,V entrySet() 获取一个 Set 对象,该对象包含 LightweightMap 容器中的所有键值对。 V get(Object key) 获取等于 LightweightMap 容器中指定键的值。 int indexOfKey(Object key) 获取与 LightweightMap 容器中指定键相等的键的索引。 int indexOfValue(Object value) 获取 LightweightMap 容器中与指定值相等的值的索引。 boolean isEmpty() 检查 LightweightMap 容器是否没有键值对。 K keyAt(int index) 获取 LightweightMap 容器中由 index 标识的位置的键。 SetK keySet() 获取包含 LightweightMap 容器的所有键的 Set 对象。 V put(K key, V value) 将键值对保存到 LightweightMap 容器。 void putAll(Map<? extends K,? extends V> map) 将指定 Map 容器的所有对象添加到 LightweightMap 容器。 void putAll(LightweightMap<? extends K,? extends V> arrayMap) 将指定 LightweightMap 容器的所有对象添加到另一个 LightweightMap 容器。 V remove(Object key) 从 LightweightMap 容器中删除与指定键相同的键值对。 boolean removeAll(Collection<?> collection) 从 LightweightMap 容器中删除与指定 Collection 具有相同对象的键值对。 V removeAt(int index) 从 LightweightMap 容器中删除由 index 标识的位置处的键值对。 boolean retainAll(Collection<?> collection) 从 LightweightMap 容器中删除指定 Collection 对象中不存在的键值对。 V setValueAt(int index, V value) 将 LightweightMap 容器中由 index 标识的值设置为指定值。 int size() 获取存储在 LightweightMap 容器中的键值对的数量。 String toString() 获取包含 LightweightMap 容器中所有键和值的字符串。 V valueAt(int index) 获取 LightweightMap 容器中由 index 标识的值。 CollectionV values() 获取包含 LightweightMap 容器的所有值的 Collection 对象。 从接口 java.util.Map 继承的方法 compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll 从类 java.lang.Object...

鸿蒙OS IntervalTimer

IntervalTimer java.lang.Object |—ohos.utils.IntervalTimer public abstract class IntervalTimer extends Object 为任务执行提供一个计时器,该计时器持续一段时间并定期重复。 示例代码: new IntervalTimer(60000, 3000) { @Override public void onInterval(long remain) { // This method will be called at the 3000th millisecond and repeatedly called every 3000 milliseconds. } @Override public void onFinish() { // This method will be called at the 60000th millisecond. } }.schedule(); 注意:IntervalTimer#onInterval(long) 是同步的。 如果此方法的执行时间长于间隔,则下一次调用将等待上一次回调完成。 例如,如果间隔为 3000 毫秒,并且 IntervalTimer#onInterval(long) 回调持续 4000 毫秒,则第一次调用在第 3000 毫秒,下一次调用在第 9000 毫秒。 构造函数摘要 构造函数 描述 IntervalTimer(long duration, long interval) 创建具有给定工作持续时间和间隔的 IntervalTimer。 方法总结 修饰符和类型 方法 描述 void cancel() 取消间隔计时器。 abstract void onFinish() 当间隔计时器的总工作持续时间结束时调用。 abstract void onInterval(long remain) 每次间隔开始时调用。 void schedule() 启动间隔计时器。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 构造函数详细信息 IntervalTimer public IntervalTimer(long duration, long interval) 创建具有给定工作持续时间和间隔的 IntervalTimer。 参数: 参数名称 参数描述 duration 间隔定时器的工作时长,单位毫秒,不能小于interval。 当工作时间结束时,将调用 IntervalTimer#onFinish() 通知间隔计时器已关闭。 interval 间隔时间,单位毫秒,取值范围为(1,duration]。每开始一个间隔,就会调用IntervalTimer#onInterval(long)来通知间隔定时器的剩余工作时间。 方法详情 schedule public final void schedule() 启动间隔计时器。 Throws: Throw名称 Throw描述...

鸿蒙OS IntentConstants

IntentConstants java.lang.Object |—ohos.utils.IntentConstants public final class IntentConstants extends Object 定义系统中使用的与意图相关的常量,包括传递给用于启动能力的方法的意图中包含的动作、实体和标志。 在下面的描述中,页面、服务或数据能力表示使用相应模板的能力,而单独的能力表示使用任何类型模板的能力。 字段摘要 修饰符和类型 字段 描述 static String ACTION_APPLICATION_DETAILS_SETTINGS 指示启动显示指定应用程序详细信息的页面功能的操作。 static String ACTION_CHOOSE 表示启动页面功能以打开联系人或图片的操作。 static String ACTION_DIAL 指示启动显示键盘的页面功能的操作。 static String ACTION_DISMISS_ALARM 表示启动页面功能以删除闹钟的动作。 static String ACTION_DISMISS_TIMER 指示启动页面功能以关闭计时器的操作。 static String ACTION_EDIT_DATA 表示编辑数据的动作。 static String ACTION_FILE_SELECT 表示选择文件的动作。 static String ACTION_HIDISK_CHOOSE 表示启动 Page 功能以打开 hidisk 的动作。 static String ACTION_HIDISK_CHOOSE_PATH 表示启动一个Page能力的动作,用于通过路径打开hidisk。 static String ACTION_HOME home action 的定义 static String ACTION_MANAGE_APPLICATIONS_SETTINGS 指示启动管理已安装应用程序的页面功能的操作。 static String ACTION_SCAN_MEDIA_FILE 指示请求媒体扫描仪扫描文件并将文件添加到媒体库的操作。 static String ACTION_SEARCH 指示启动页面功能以进行搜索的操作。 static String ACTION_SELECT 表示显示应用程序选择对话框的动作。 static String ACTION_SEND_DATA 表示发送单个数据记录的动作。 static String ACTION_SEND_MULTIPLE_DATA 表示发送多条数据记录的动作。 static String ACTION_SEND_SMS 表示启动 Page 功能以发送短信的动作。 static String ACTION_SET_ALARM 表示启动 Page 功能以设置闹钟的动作。 static String ACTION_SHOW_ALARMS 指示启动显示所有闹钟的 Page 功能的操作。 static String ACTION_SNOOZE_ALARM 指示启动 Page 功能以将闹钟打盹的动作。 static String ACTION_VIEW_DATA 表示查看数据的动作。 static String ACTION_WIRELESS_SETTINGS 指示启动提供无线网络设置的页面功能的操作,例如 Wi-Fi 选项。 static String ENTITY_BROWSABLE 表示浏览器类别。 static String ENTITY_DEFAULT 指示默认实体,如果未指定实体,则使用该实体。 static String ENTITY_HOME 表示主屏幕实体。 static String ENTITY_VOICE 语音交互实体。 static String INTENT_PARAMS_INTENT 指示您将使用#ACTION_PICKER 显示的选项。 static String INTENT_PARAMS_TITLE 与 #ACTION_PICKER 一起使用时指示 CharSequence 对话框标题。 static String PARAMS_STREAM 当与 ACTION_SEND_DATA 一起使用时,指示持有与 Intent 关联的数据流的 URI。 方法总结 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 字段详细信息 ACTION_APPLICATION_DETAILS_SETTINGS public static final String ACTION_APPLICATION_DETAILS_SETTINGS 指示启动显示指定应用程序详细信息的页面功能的操作。 您必须在包含此操作的 Intent 的包属性中指定应用程序包名称。 ACTION_CHOOSE public...

鸿蒙OS IntArray

IntArray java.lang.Object |—ohos.utils.IntArray public class IntArray extends Object int 数组的集合类。 该类封装了 IntArray 上常用的操作,供您调用。 它还支持有关通用堆栈的基本操作,因此您可以将它们用作 int 堆栈。 当 int 原始数据类型存储到泛型集合类中时,它会自动转换为相应的数据类型。 此过程称为自动装箱,但是会在一定程度上降低性能。 为了解决这个问题,这个类用于将 int 原始数据存储为一个集合类,而不需要自动装箱过程。 该类支持阵列的自动缩放,因此您无需担心阵列容量。 使用 IntArray 类时要注意以下几点: 该类是非线程安全的,不建议用于服务并发。 字段摘要 修饰符和类型 字段 描述 static int ERROR_INDEX 指示索引相关操作使用的无效索引。 构造函数摘要 构造函数 描述 IntArray() 默认构造函数用于创建初始容量为 32 的 IntArray 实例。 IntArray(int capacity) 用于创建具有自定义初始容量的 IntArray 实例的构造函数。 IntArray(int… otherArray) 基于大小可变的 int 数组创建一个 IntArray 对象。 IntArray(int[] otherArray, int begin, int count) 基于具有指定范围的现有 int 数组创建一个 IntArray 对象。 IntArray(int capacity, int value) 用于创建具有自定义容量和初始值的 IntArray 实例的构造函数。 IntArray(ListInteger intList) 根据现有的 Integer 列表创建一个 IntArray 对象。 IntArray(IntArray another) 通过从现有 IntArray 对象复制参数来创建 IntArray 对象。 方法总结 修饰符和类型 方法 描述 void append(IntArray other) 将指定的 IntArray 对象的值依次附加到当前的 IntArray 对象。 int back() 获取当前 IntArray 对象的数组中的最后一个值。 int binarySearchInInsArray(int value) 使用二分搜索算法搜索指定的值。 void clear() 清除存储在当前 IntArray 对象中的所有值。 Object clone() 创建当前 IntArray 对象的克隆。 void deleteFirstValue(int value) 删除与指定值匹配的第一个值。 void deleteIndex(int index) 删除指定索引处的值。 void deleteRangeIn(int low, int high) 删除指定范围内的值,包括开始索引和结束索引。 boolean empty() 检查当前 IntArray 对象是否为空。 boolean equals(int[] otherArrays) 将当前 IntArray 对象中的值与 int 数组进行比较并返回比较结果。 boolean equals(Object obj) 将当前 IntArray 对象与指定对象进行比较,并返回比较结果。 int getAt(int index) 获取指定索引处的值。 int getCapacity() 获取当前 IntArray 对象的容量。 int hashCode() 获取当前 IntArray 对象的哈希码。 int indexOf(int value) 获取当前 IntArray 对象中第一个匹配值的索引。 void insert(int index, int value) 将值插入指定索引。 int lastIndexOf(int value) 获取当前 IntArray 对象中最后一个匹配值的索引。 int popBack() 获取并删除当前 IntArray 对象的数组中的最后一个值。 void pushBack(int value) 将指定值添加到当前 IntArray 对象中的数组末尾。 void setAt(int index, int value) 更新指定索引处的值。 int size() 获取当前 IntArray 中存储的值的总数。 void...

鸿蒙OS HalfFloat

HalfFloat java.lang.Object |—java.lang.Number |—|—ohos.utils.HalfFloat public class HalfFloat extends Number 封装半精度浮点格式的数据。 ​ 方法总结 修饰符和类型 方法 描述 byte byteValue() 以字节形式返回指定数字的值,可能涉及舍入或截断。 double doubleValue() 以 double 形式返回指定数字的值,这可能涉及舍入。 boolean equals(Object obj) 指示其他对象是否“等于”这个对象。 float floatValue() 将指定数字的值作为浮点数返回,这可能涉及舍入。 int hashCode() 返回对象的哈希码值。 int intValue() 以 int 形式返回指定数字的值,可能涉及舍入或截断。 long longValue() 以 long 形式返回指定数字的值,可能涉及舍入或截断。 short shortValue() 以短整数形式返回指定数字的值,可能涉及舍入或截断。 String toString() 返回对象的字符串表示形式。 short value() 获取此 HalfFloat 实例的简短表示。 static HalfFloat valueOf(float value) 创建一个表示浮点类型的指定值的 HalfFloat 实例。 static HalfFloat valueOf(short value) 创建一个表示短类型的指定值的 HalfFloat 实例。 static HalfFloat valueOf(String value) 创建一个表示 String 类型的指定值的 HalfFloat 实例。 从类 java.lang.Object 继承的方法 clone, finalize, getClass, notify, notifyAll, wait, wait, wait 方法详情 valueOf public static HalfFloat valueOf(short value) 创建一个表示短类型的指定值的 HalfFloat 实例。 参数: 参数名称 参数描述 value 指示要解析的值的短类型。 返回: 表示指定值的 HalfFloat 实例 valueOf public static HalfFloat valueOf(float value) 创建一个表示浮点类型的指定值的 HalfFloat 实例。 参数: 参数名称 参数描述 value 指示要解析的值的浮点类型。 返回: 表示指定值的 HalfFloat 实例 valueOf public static HalfFloat valueOf(String value) 创建一个表示 String 类型的指定值的 HalfFloat 实例。 参数: 参数名称 参数描述 value 指示要解析的值的字符串类型。 value 必须是 Float 类型的 String 表示形式,例如“0.0f”和“4e2f”。 返回: 表示指定值的 HalfFloat 实例 Throws: Throw名称 Throw描述 NumberFormatException 如果指定的值无法转换为 Float 类型,则引发此异常。...

鸿蒙OS FloatDimension

FloatDimension java.lang.Object |—ohos.utils.FloatDimension public final class FloatDimension extends Object 用于描述浮点数的高度和宽度的不可变类。 高度和宽度存储为浮点数。 构造函数摘要 构造函数 描述 FloatDimension(float width, float height) 用于创建具有指定宽度和高度的 FloatDimension 对象的构造函数。 方法总结 修饰符和类型 方法 描述 boolean equals(Object obj) 检查给定对象是否与当前 FloatDimension 对象相同。 float getHeightSize() 获取当前 FloatDimension 对象的高度。 float getWidthSize() 获取当前 FloatDimension 对象的宽度。 int hashCode() 获取当前 FloatDimension 对象的哈希码。 static FloatDimension parseFloatDimension(String floatDimension) 基于给定字符串创建一个 FloatDimension 对象。 String toString() 获取当前 FloatDimension 对象的字符串表示形式。 从类 java.lang.Object 继承的方法 clone, finalize, getClass, notify, notifyAll, wait, wait, wait 构造函数详细信息 FloatDimension public FloatDimension(float width, float height) 用于创建具有指定宽度和高度的 FloatDimension 对象的构造函数。 参数: 参数名称 参数描述 width 表示对象的宽度。 height 表示对象的高度。 方法详情 getWidthSize public float getWidthSize() 获取当前 FloatDimension 对象的宽度。 返回: 返回当前 FloatDimension 对象的宽度。 getHeightSize public float getHeightSize() 获取当前 FloatDimension 对象的高度。 返回: 返回当前 FloatDimension 对象的高度。 parseFloatDimension public static FloatDimension parseFloatDimension(String floatDimension) throws NumberFormatException 基于给定字符串创建一个 FloatDimension 对象。 给定字符串由两个浮点数(正数或负数)组成,由星号 () (ASCII 0x2A) 分隔,格式为 WH,例如 8.510.2 或 -6.3-8.4。 参数: 参数名称 参数描述 floatDimension 指示用于创建 FloatDimension 对象的字符串。 返回: 返回一个 FloatDimension 对象。 Throws: Throw名称 Throw描述 NullPointerException 如果 floatDimension 为 null,则引发此异常。 NumberFormatException 如果指定的字符串非法,则抛出此异常。 hashCode public...

鸿蒙OS FileWatcher

FileWatcher java.lang.Object |—ohos.utils.FileWatcher public class FileWatcher extends Object 提供监控指定文件目录状态变化的能力。 要监控文件,首先需要实现 FileWatcher.EventHandler 类,该类处理被监控文件目录的状态变化事件。 然后,您应该使用 addWatch(java.nio.file.Path,ohos.utils.FileWatcher.EventHandler,boolean,java.nio.file.WatchEvent.Kind…) 方法添加要监视的文件目录和 关联的事件处理程序。 当指定目录中的文件发生更改时,将触发事件处理程序来处理该事件。 FileWatcher 支持 StandardWatchEventKinds 中定义的以下事件: StandardWatchEventKinds.ENTRY_CREATE StandardWatchEventKinds.ENTRY_DELETE StandardWatchEventKinds.ENTRY_MODIFY 嵌套类摘要 修饰符和类型 类 描述 static interface FileWatcher.EventHandler 提供处理文件事件的处理程序。 构造函数摘要 构造函数 描述 FileWatcher() 默认构造函数用于创建文件观察者实例。 方法总结 修饰符和类型 方法 描述 void addWatch(Path directory, FileWatcher.EventHandler eventHandler, boolean isRecursive, WatchEvent.Kind<?>… events) 添加监视程序以监视指定的文件目录。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 构造函数详细信息 FileWatcher public FileWatcher() 默认构造函数用于创建文件观察者实例。 Throws: Throw名称 Throw描述 RuntimeException 如果没有文件观察器服务,则引发此异常。 方法详情 addWatch public void addWatch(Path directory, FileWatcher.EventHandler eventHandler, boolean isRecursive, WatchEvent.Kind<?>… events) 添加监视程序以监视指定的文件目录。 您可以指定要监视的文件事件。 如果未指定事件,则监视文件目录上的所有事件。 参数: 参数名称 参数描述 directory 指示要监视的文件目录。 eventHandler 指示要添加指定文件目录的事件处理程序。 isRecursive 指定是否递归监视指定的文件目录。 Throws: Throw名称 Throw描述 NullPointerException 如果 directory 或 eventHandler 为 null,则引发此异常。 RuntimeException 如果添加观察者失败,就会引发此异常。

鸿蒙OS Dimension

Dimension java.lang.Object |—ohos.utils.Dimension public final class Dimension extends Object 用于描述 Dimension 对象的高度和宽度的不可变类。 构造函数摘要 构造函数 描述 Dimension(int width, int height) 用于创建具有指定宽度和高度的 Dimension 对象的构造函数。 方法总结 修饰符和类型 方法 描述 boolean equals(Object obj) 检查给定对象是否与当前 Dimension 对象相同。 int getHeightSize() 获取当前 Dimension 对象的高度。 int getWidthSize() 获取当前 Dimension 对象的宽度。 int hashCode() 获取当前 Dimension 对象的哈希码。 static Dimension parseDimension(String dimension) 根据给定的字符串创建 Dimension 对象。 String toString() 获取当前维度对象的字符串表示。 从类 java.lang.Object 继承的方法 clone, finalize, getClass, notify, notifyAll, wait, wait, wait 构造函数详细信息 Dimension public Dimension(int width, int height) 用于创建具有指定宽度和高度的 Dimension 对象的构造函数。 参数: 参数名称 参数描述 width 表示对象的宽度。 height 表示对象的高度。 方法详情 getWidthSize public int getWidthSize() 获取当前 Dimension 对象的宽度。 返回: 返回当前 Dimension 对象的宽度。 getHeightSize public int getHeightSize() 获取当前 Dimension 对象的高度。 返回: 返回当前 Dimension 对象的高度。 parseDimension public static Dimension parseDimension(String dimension) throws NumberFormatException 根据给定的字符串创建 Dimension 对象。 给定的字符串由两个整数(正数或负数)组成,由星号 () (ASCII 0x2A) 分隔,格式为 WH,例如 810 或 -6-8。 参数: 参数名称 参数描述 dimension 指示用于创建 Dimension 对象的字符串。 返回: 返回一个维度对象。 Throws: Throw名称 Throw描述 NumberFormatException 如果指定的字符串非法,则抛出此异常。 NullPointerException 如果维度为空,则引发此异常。 hashCode public int...

鸿蒙OS ConditionHelper

ConditionHelper java.lang.Object |—ohos.utils.ConditionHelper public class ConditionHelper extends Object 一个帮助类,用于使用 java.util.concurrent.locks 包中内置的 Condition 类,而不处理 Lock 和 java.lang.InterruptedException 异常。 ConditionHelper 对象提供用于挂起线程(使其等待)或唤醒等待线程的接口。 它支持无限等待或定时等待。 线程在被唤醒或经过指定的等待时间后才会退出等待状态。 使用 ConditionHelper 类时要注意以下几点: 如果线程被唤醒后不重置唤醒状态,下次调用ConditionHelper#await或ConditionHelper#await(long awaitMs)方法时会立即返回执行结果。 ConditionHelper#await(long awaitMs) 方法不能确保精确计时。 如果在等待期间发生 java.lang.InterruptedException 异常,等待状态不会终止。 线程被唤醒或等待时间过去后,可以使用 Thread.currentThread().isInterrupted() 来检查线程是否被中断。 构造函数摘要 构造函数 描述 ConditionHelper() 用于创建具有默认唤醒状态 false 的 ConditionHelper 实例的构造函数。 ConditionHelper(boolean isWakeup) 用于创建具有指定唤醒状态的 ConditionHelper 实例的构造函数。 方法总结 修饰符和类型 方法 描述 void await() 挂起当前线程,直到它被唤醒。 boolean await(long awaitMs) 暂停当前线程,直到它被唤醒或等待时间过去。 void resetCondition() 将唤醒状态重置为 false,然后您可以调用 await()。 void wakeup() 唤醒当前对象的线程并将其唤醒状态设置为 true。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 构造函数详细信息 ConditionHelper public ConditionHelper() 用于创建具有默认唤醒状态 false 的 ConditionHelper 实例的构造函数。 ConditionHelper public ConditionHelper(boolean isWakeup) 用于创建具有指定唤醒状态的 ConditionHelper 实例的构造函数。 参数: 参数名称 参数描述 isWakeup 指示要设置的唤醒状态。 true表示线程被唤醒,false表示线程未被唤醒。 方法详情 wakeup public void wakeup() 唤醒当前对象的线程并将其唤醒状态设置为 true。 如果没有调用resetCondition()重置唤醒状态,下次调用await()或await(long awaitMs)方法时会立即返回执行结果。 resetCondition public void resetCondition() 将唤醒状态重置为 false,然后您可以调用 await()。 await public void await() 挂起当前线程,直到它被唤醒。 如果对象的唤醒状态为 true,则立即返回该方法的执行结果。 如果发生 java.lang.InterruptedException 异常,当前线程继续等待,直到被唤醒。 唤醒后,可以使用 Thread.currentThread().isInterrupted() 来检查线程是否被中断。 await public boolean await(long awaitMs) 暂停当前线程,直到它被唤醒或等待时间过去。 如果对象的唤醒状态为 true,则立即返回该方法的执行结果。...