Scala转换为泛型列表无效类型

Scala转换为泛型列表无效类型,scala,generics,casting,Scala,Generics,Casting,你们中的任何人都知道为什么要编译以下内容: def foo() = someObjectOfTypeFutureAny.asInstanceOf[Future[List[Bar]]] foo() 但以下情况不适用: def foo[T]() = someObjectOfTypeFutureAny.asInstanceOf[Future[List[T]]] foo[Bar]() 它会出现错误“List[T]对于生成的GraphQL type Seq[Bar]是无效类型” som

你们中的任何人都知道为什么要编译以下内容:

def foo() =
    someObjectOfTypeFutureAny.asInstanceOf[Future[List[Bar]]]
foo()
但以下情况不适用:

def foo[T]() =
    someObjectOfTypeFutureAny.asInstanceOf[Future[List[T]]]
foo[Bar]()
它会出现错误“List[T]对于生成的GraphQL type Seq[Bar]是无效类型”

someObjectOfTypeFutureAny是我从Akka演员的提问中得到的(它返回一个列表[Bar])

我正在使用

我构建了一个基本的应用程序,使用泛型将一个列表转换为另一个列表,并将函数传递给上面示例中的泛型,这很有效。所以我不确定我的错误是从哪里来的

我的实际代码:

def complexFieldResolver[Val, T](arguments: (Context[Unit, Val]) => List[String]): Field[Unit, Val] = {
    Field("solution",
        ListType(solutionEntityType),
        arguments = OptionalEntityIdArgument :: OptionalEntityIdsArgument :: Nil,
        resolve = ctx =>
            viewActor.ask(Query(NodeType.Solution, arguments(ctx))).asInstanceOf[Future[List[T]]]
    )
}
按如下方式调用:
complexFieldResolver[ApplicationEntity,SolutionEntity]((上下文)=>getArguments(上下文,“SolutionEntity”,上下文.value.solution))

正在调用的代码:

case NodeType.Solution =>
    graph.Vertex.findSolutionEntitiesByIds(ids).asInstanceOf[List[SolutionEntity]]


def findSolutionEntitiesByIds(entityIds: List[String]): List[models.SolutionEntity] =

a实例
关闭
?@rumoku他想关闭实例;PShow us定义
字段
构造函数。只要你仔细观察,你就会明白答案。@rumoku谢谢!我查看了Field的apply方法:
def apply[Ctx,Val,Res,Out](..)
没有真正理解发生了什么,我将我的:
字段(“解决方案”
,重写为:
字段[Unit,Val,Any,Any](“解决方案
。现在查看一下代码,看看为什么会这样做,我还没有发现太多,因为我对Scala非常陌生。您的小示例确实可以编译。