[英]Groovy to Java Code
我知道不應該提出這樣的“一般性”問題,但是有人可以幫助我將以下代碼從Groovy轉換為Java。 我的主要問題是,我真的不知道Java中的哪些數據類型與Groovy的數據類型相似。 歡迎任何幫助!
非常感謝!
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
}
可能是這樣(未經測試):
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);
}
不是問題的答案( @Stmated涵蓋了該問題),但是如果這是為了比較Groovy和Java,我相信您的Groovy代碼會更好:
def registrations = [:].withDefault { [] as Set }
public void register(Class clazz, MessageListener listener) {
registrations[ clazz ] << listener
}
只需將java.util.HashMap
和java.util.HashSet
分別用於registrations
和listeners
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.