我想在Java中创建一个通用的单例类,可以通过传递类名作为方法参数来获取该类的单例对象。就像下面的代码一样:请帮忙实现。
public final class Listener<T extends Object> {
private Listener() {
}
public static <T> Listener<?> getInstance(Class<T> clazz) {
return SingletonHolder.INSTANCE;
}
private static class SingletonHolder {
public static final Listener INSTANCE = new Listener();
// private static final Map<Class<? extends Runnable>,Listener<? extends
// Runnable> INSTANCE = new ...;
}
}
Collections.empty[List|Map|Set]()
返回单例实例,如果尝试添加或获取任何元素,则失败。emptyList
(等等)方法具有未经检查的转换,将单例转换为List<T>
(其他集合接口也是如此)。 - yshavit