java – sun.misc.Service的替换类

我有一些旧的(pre java 6)代码依赖于sun.misc.Service API,例如:

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

Java 9中正在删除此类(不仅仅是内化).

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

最佳答案
sun.misc.Service类已被Java 6中的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).

转载注明原文:java – sun.misc.Service的替换类 - 代码日志