Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取特定类中注释的所有方法的反射_Java_Scala_Reflection - Fatal编程技术网

Java 获取特定类中注释的所有方法的反射

Java 获取特定类中注释的所有方法的反射,java,scala,reflection,Java,Scala,Reflection,我正在编写一个事件消息处理程序。为了处理反射,我使用反射API 每个事件侦听器都是由注释的方法 public @interface ListenTo {} 听众会遵循如下主题: class Example { EventHandler.get.registerListener(this) @ListenTo def onEvent(e: SomeEvent): Unit } 注册侦听器的代码如下所示: import org.reflections.ReflectionUtil

我正在编写一个事件消息处理程序。为了处理反射,我使用反射API

每个事件侦听器都是由注释的方法

public @interface ListenTo {}
听众会遵循如下主题:

class Example {
  EventHandler.get.registerListener(this)

  @ListenTo
  def onEvent(e: SomeEvent): Unit 
}
注册侦听器的代码如下所示:

import org.reflections.ReflectionUtils._
private var listeners: mutable.ListBuffer[(Any, List[Method])] = ListBuffer()

def registerListener(obj: Any): Unit = {
  listeners += Tuple2(obj, getAllMethods(obj.getClass, withAnnotation(classOf[ListenTo])).asScala.toList)
}
但是,在注册侦听器时,对象保存在元组中,但没有使用它的方法,有人知道原因吗

@Retention(RetentionPolicy.RUNTIME)
public @interface ListenTo
对于任何其他经过这里的人