我想知道是否有一个在运行时添加了特征的实例,可以从实例中删除特征,因此它可以像原来一样运行。
最佳答案
特征在编译时与类结合。所以不可能在运行时添加/删除特征。
对于您的特定情况,请考虑向您的类添加一个方法:
class Foo(val a: Object, val b: Object, ...) {
def original() = new Foo(a, b, ...)
}
然后您可以调用
instance.original()
取回不受任何特征影响的对象的副本。
关于scala - 有没有办法从 Scala 中的实例中删除特征?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7125751/