我有下一个问题.我有一个界面:
public interface Worker<T> {
public void start(Class<? extends T> taskClass);
}
Run Code Online (Sandbox Code Playgroud)
和单接口实现此接口:
public final class Listener<T extends Runnable> implements Worker<T> {
private Listener() {}
@Override
public void start(Class<? extends T> taskClass) { ... }
public static Listener getInstance() {
return SingletonHolder.INSTANCE;
}
private static class SingletonHolder {
public static final Listener INSTANCE = new Listener();
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,我可以通过这种方式得到单例实例:
Worker<Thread> listener = Listener.getInstance();
Run Code Online (Sandbox Code Playgroud)
还是类型安全吗?什么时候不能,如何在单例实例中使用泛型?