gpt4 book ai didi

scala - 如何获取scala特征中所有方法的名称

转载 作者:行者123 更新时间:2023-12-05 00:10:51 25 4
gpt4 key购买 nike

我需要我定义的 scala 特征中的所有方法名称。我知道这听起来像是一个微不足道的问题,但我找不到与该特征相关的任何答案,它们都围绕类展开。

具体来说,我需要所有抽象方法的名称。但是,如果我能得到所有方法的名称,不管是否抽象,那也行得通。

说我有这个特质 A

trait A {
def myDefinedInt: Int = 2
def myAbstractString: String
}

我需要一个所有方法的列表(或者最好只是抽象的)

我对 scala 比较陌生,所以虽然我得到了类和接口(interface)。特质对我来说是新的。

提前致谢!

最佳答案

您可以使用 getDeclaredMethods 获取所有方法然后只过滤抽象方法:

 import java.lang.reflect.Modifier

classOf[A]
.getDeclaredMethods
.filter(m => Modifier.isAbstract(m.getModifiers))
.map(_.getName)
.foreach(println)

它打印: myAbstractString .

关于scala - 如何获取scala特征中所有方法的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56185054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com