gpt4 book ai didi

java - ServiceLoader 中的 Iterable 对象是有序的吗?

转载 作者:行者123 更新时间:2023-11-30 02:09:17 25 4
gpt4 key购买 nike

我有一个非常简单的问题,但我无法找到正确的答案。

所以在我的项目中我有一个抽象类“JmjrstPlugin”,其他一些插件继承自该类。我使用 javas ServiceLoader 来查找所有插件类,如下所示:

public static Iterable<JmjrstPlugin> getPlugins() {   
return ServiceLoader.load(JmjrstPlugin.class);
}

对于我的问题:我从此函数收到的可迭代对象是否是有序的。(JmjrstPlugin 实现了 Comparable 接口(interface),并且有一个可用的 CompareTo 方法)。

PS:该项目目前所处的状态使我无法立即对其进行测试。

最佳答案

ServiceLoader 的 Javadoc说:

The only requirement enforced by this facility is that provider classes must have a zero-argument constructor so that they can be instantiated during loading.

这意味着它并不关心您的实现类是否实现Comparable

此外,Set 通常是无序集合,除非另有明确指定。 javadoc 没有指定,因此它是无序的。

关于java - ServiceLoader 中的 Iterable 对象是有序的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50556320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com