【问题标题】:Does Java allow type parameters for type parameters?Java是否允许类型参数的类型参数?
【发布时间】:2014-09-18 05:02:03
【问题描述】:

在 Scala 中你可以做这样的事情:

trait A[T]

trait B[C[_] <: A[_]] {
    def apply[T](entity: C[T]): T
}

Java 类比看起来像这样:

interface A<T>

interface B<C<?> extends A> {
   <T> T apply(entity: C<T>): T
}

您可以将 B 与扩展 A 的任何类型一起使用,并将此子类型的类型参数用作方法的输出类型。

但它不会编译,你将如何在 Java 中编译?

【问题讨论】:

  • 你想做什么?
  • 也许您正在寻找Generics
  • 我正在尝试从函数 apply() 返回 T 类型的值
  • 我想你应该探索一下 java.util 包。
  • 也许您可以编辑问题以用文字解释 Scala 代码的作用;目前,该问题只能由两种语言的专家来回答。

标签: java scala generics type-parameter traits


【解决方案1】:

不,很遗憾,您不能这样做。 Java 没有更高种类的类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    • 2021-10-04
    相关资源
    最近更新 更多