簡體   English   中英

Groovy到Java代碼

[英]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.HashMapjava.util.HashSet分別用於registrationslisteners

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM