java单例类可以是泛型的吗?
我想为我的应用程序提供一个rest客户端。由于单例用于内部或外部资源的集中管理,因此它们为自己提供了一个全局访问点。我认为rest客户机应该作为一个单例类实现
我可以用一种通用的方式实现这个类,这样我就可以控制我希望类的方法返回的对象的类型
我正在寻找类似于:
public class JersyRestClient <T> implements RestClient
{
private static JersyRestClient instance = null;
private JersyRestClient()
{
}
public static JersyRestClient getInstance()
{
if (instance == null)
{
synchronized (JersyRestClient.class)
{
if (instance == null)
{
instance = new JersyRestClient();
}
}
}
return instance;
}
public T getContent(final String resourceUrl)
{
//get content
//return T
}
}
# 1 楼答案
JersyRestClient<T>
没有多大意义。 您将在getInstance()
中返回特定的内容。会是什么JersyRestClient
)。在这种情况下,您可以使用<T>
李>JersyRestClient<MyContent>
。可能,但没有多大意义李><T> JersyRestClient<T> getInstance()
,这将导致转换为JersyRestClient<T>
李>类型参数
T
允许参数化JersyRestClient
的实例。如果您只有一个实例,那么没有什么可以参数化的# 2 楼答案
我会说只有当它是反变的或抽象的