Set<Class<?>> resources = new java.util.HashSet<>(); 的用法是什么?

what is the usage of Set<Class<?>> resources = new java.util.HashSet<>();

剩下的这行代码有什么用api Set<Class<?>> resources = new java.util.HashSet<>();

@ApplicationPath("/service")
public class ApplicationConfig extends Application {
@Override
public Set<Class<?>> getClasses() {

    Set<Class<?>> resources = new java.util.HashSet<>();

    System.out.println("REST configuration starting: getClasses()");            

    //features
    //this will register Jackson JSON providers
    resources.add(org.glassfish.jersey.jackson.JacksonFeature.class);



    //more code.....
}

Application class defines the components of a JAX-RS application. Subclasses of Application can override the getClasses()注册应用程序使用的一组根资源、提供程序和功能类。

最简单的实现可能如下:

@ApplicationPath("api")
public SampleApplication extends Application {

}

在上面的示例中,没有注册资源 类 或提供程序,因此 JAX-RS 运行时将扫描类路径以查找使用 @Path and @Provider 注释的 JAX-RS 组件,并自动注册它们。

有关详细信息,请参阅此


Set<Class<?>>表示一个Set that holds Classes of unknown types (it's expressed by the ? wildcard). In The Java Tutorials from Oracle you'll find a whole section about generics。我鼓励你看一看。