I know that such "general" questions shouldn't be asked, but can someone help me translate the following code from Groovy to Java. My main problem is, that I really do not know which datatypes in Java are similar to the ones of Groovy. Any help is welcome!
Many thanks!
def registrations = [:]
public void register(Class clazz, MessageListener listener) {
def listeners = registrations.get(clazz)
if (!listeners) {
listeners = [] as Set;
registrations.put(clazz, listeners)
}
listeners << listener
}
It would be something like this (untested):
Map<Class, Set<MessageListener>> registrations = new HashMap<Class, Set<MessageListener>>();
public void register(Class clazz, MessageListener listener) {
Set<MessageListener> listeners = registrations.get(clazz);
if (listeners == null) {
listeners = new HashSet<MessageListener>();
registrations.put(clazz, listeners);
}
listeners.add(listener);
}
Not an answer to the question ( @Stmated has that covered), but if this is for a comparison to compare Groovy and Java, I believe your Groovy code could be better:
def registrations = [:].withDefault { [] as Set }
public void register(Class clazz, MessageListener listener) {
registrations[ clazz ] << listener
}
只需将java.util.HashMap
和java.util.HashSet
分别用于registrations
和listeners
。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.