Eclipse 泛型:类型参数不在其范围内

Eclipse 泛型:类型参数不在其范围内,eclipse,generics,kotlin,Eclipse,Generics,Kotlin,你知道为什么下面的代码不能编译吗 fun <T : Comparable<T>> naturalSort(list: List<T>): List<T> { val natComparator = naturalOrder<T>() // compiler error here return list.sortedWith(natComparator) } fun naturalSort(list:list):list{ v

你知道为什么下面的代码不能编译吗

fun <T : Comparable<T>> naturalSort(list: List<T>): List<T> {
  val natComparator = naturalOrder<T>() // compiler error here

  return list.sortedWith(natComparator)
}
fun naturalSort(list:list):list{
val natComparator=naturalOrder()//此处出现编译器错误
返回列表。使用(natComparator)进行排序
}
第二行导致编译器错误:

类型参数不在其范围内:应为“Compariable”的子类型

更新: 它在Eclipse中工作,但在Eclipse中以及使用项目的Gradle构建脚本(从Eclipse)构建项目时失败

下面是我的Gradle构建环境的外观:


已解决。问题是由于实际代码中的import语句使用了错误的
Comparable
接口造成的(import语句没有问题,不确定为什么使用java.lang.Comparable而不是kotlin.Comparable)。在代码中指定应使用
kotlin.compariable
,可解决以下问题:

fun naturalSort(list:list):list{
val natComparator=naturalOrder()//无错误
返回列表。使用(natComparator)进行排序
}


感谢所有回应的人。

问题解决了。问题是由于实际代码中的import语句使用了错误的
Comparable
接口造成的(import语句没有问题,不确定为什么使用java.lang.Comparable而不是kotlin.Comparable)。在代码中指定应使用
kotlin.compariable
,可解决以下问题:

fun naturalSort(list:list):list{
val natComparator=naturalOrder()//无错误
返回列表。使用(natComparator)进行排序
}


感谢所有回复的人。

您使用的是哪个版本的Kotlin?对我来说似乎工作得很好。这里也一样:没有问题,按预期工作:它在Eclipse中也对我工作,但在Eclipse中以及使用项目的Gradle构建脚本(从Eclipse)构建项目时失败。我的Gradle构建环境是这样的:您使用的是哪个版本的Kotlin?对我来说似乎工作得很好。这里也一样:没有问题,按预期工作:它在Eclipse中也对我工作,但在Eclipse中以及使用项目的Gradle构建脚本(从Eclipse)构建项目时失败。我的Gradle构建环境是这样的:我想你可能会对这个讨论感兴趣:实际上,没有使用通配符导入或过度导入(总共导入了6个类),这就是为什么它如此令人惊讶。我想你可能会对这个讨论感兴趣:实际上,没有使用通配符导入或过度导入(总共6节课),这就是为什么它如此令人惊讶。