如何汇总到Any然后展开到scala中的泛型类型

时间:2015-04-27 20:11:36

标签: scala

当您汇总Flag[T]的实例时,您最终会像Flag[_]Flag[Any]一样滚动

val seq: Seq[Flag[_]] = new Flag[Int](5) :+ new Flag[MyFlag](someinstance) :+ new Flag[String]("stringValue")

所以在Flag内,我添加了一个

def genericType(implicit m: Manifest[T]): Class[_] = m.runtimeClass

我们在Flag班级内也有一个

def value: T = { //the value }}

所以当我循环遍历Flag[_]时,我需要将值和classOf[T]传递给模板函数

def someTemplateFunction[F](clazz: Class[F], value: F)

我怎样才能做到这一点?我应该使用[_][Any]还是[Nothing]

我终于得到了一些编译但必须使用Java函数才能到达那里的东西(即将测试它,因为我不确定它是否会起作用):

public class BindGuiceByType {
    public static void bind(Binder binder, String flagName, Object value, Class clazz) {
        Key key = Key.get(clazz, new FlagImpl(flagName));
        binder.bind(key).toInstance(value);
    }
}

0 个答案:

没有答案