5

我有一些依赖于sun.misc.ServiceAPI 的旧(Java 6 之前)代码,例如:

sun.misc.Service.providers(MyServiceProvider.class);

这个类在 Java 9 中被删除(不仅仅是内部化)。

我可以使用哪些备用 Java SE API?

4

1 回答 1

8

该类在 Java 6 中sun.misc.Service已被替换为。java.util.ServiceLoader

以下代码示例是等效的:

Iterator<MyServiceProvider> = sun.misc.Service.providers(MyServiceProvider.class);

Iterator<MyServiceProvider> = java.util.ServiceLoader.load(MyServiceProvider.class).iterator();

正如评论中指出的那样,java.util.ServiceLoader 已经存在了很长时间(Java 6)。

于 2016-11-01T21:34:10.947 回答