java - 如何在类中查找带有注释的方法?

标签 java reflection kotlin

给出注释

@Target(AnnotationTarget.FUNCTION)
@Retention(AnnotationRetention.RUNTIME)
annotation class MyAnnotation

如何找到带有这个注解的方法?

这是我得到的结果:

val cls = myObject.javaClass.kotlin
val found = cls.memberFunctions.filter { it.annotations.contains( ??? ) }

最佳答案

注释将是您的 MyAnnotation 类的实例。因此,您需要做的就是:

cls.memberFunctions.filter { it.annotations.any { anno -> anno is MyAnnotation } }

关于java - 如何在类中查找带有注释的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37586532/

相关文章:

c# - 我如何在 C# 中获取调用方法

java - 无法使用反射API访问java中的私有(private)方法

java - 模块必须设置 Dagger 2

java - Java 中的日志记录是怎么回事?

java.net.Socket > outputStream > BufferedOutputStream flush() 确认

java - 在 Junit Test 中覆盖默认 Spring-Boot application.properties 设置

java - 使用流计算句子中每个字母的出现次数

c# - .Net 反射 : How to invoke a constructor that takes a interface as parameter

generics - Kotlin 中的逆变

java - 为什么 Kotlin 字节码会引用 java.util.function.BiConsumer?