我有一些依赖于sun.misc.Service
API 的旧(Java 6 之前)代码,例如:
sun.misc.Service.providers(MyServiceProvider.class);
这个类在 Java 9 中被删除(不仅仅是内部化)。
我可以使用哪些备用 Java SE API?
该类在 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)。