我正在尝试创建我自己的线程安全事件处理,但我E cannot be resolved to a type在下面的类decleration行上得到错误.我怎样才能解决这个问题?
Observers.java
public final class Observers<T extends EventHandler<E>> {
private CopyOnWriteArrayList<T> mListeners = new CopyOnWriteArrayList<T>();
public interface EventHandler<E> {
public void HandleEvent(Object sender, E e);
}
/*...*/
public void dispatchEvent(Object sender, E args) {
/*...*/
}
}
Run Code Online (Sandbox Code Playgroud)
EventHandler.java
public interface EventHandler<E extends EventArgs> {
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 12
你实际上只是声明了一个类型参数Observers.试试这个:
public final class Observers<E extends EventArgs, T extends EventHandler<E>> {
Run Code Online (Sandbox Code Playgroud)
请注意,在实现外部接口时,您的类声明自己的嵌套接口看起来很奇怪- 如果您确实需要这两个接口,我建议您重命名其中一个.ObserversEventHandler