我知道不应该提出这样的“一般性”问题,但是有人可以帮助我将以下代码从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);
 }

09-15 18:46