Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 找不到合适的排序方法(列表<;用户>;)_Java - Fatal编程技术网

Java 找不到合适的排序方法(列表<;用户>;)

Java 找不到合适的排序方法(列表<;用户>;),java,Java,这东西就是编译不了。我不知道我做错了什么。编译器正在对集合进行咆哮。排序(用户);。请参阅下面程序列表后的错误消息。如果您能提供任何关于这段代码的真正错误的见解,我们将不胜感激 下面是命令java-version的输出: import java.util.ArrayList; 导入java.util.List; 导入java.util.Collections; 类MyApp{ 公共静态void main(字符串[]args){ 列表用户=新建ArrayList(); 添加(新用户(“John

这东西就是编译不了。我不知道我做错了什么。编译器正在对集合进行咆哮。排序(用户);。请参阅下面程序列表后的错误消息。如果您能提供任何关于这段代码的真正错误的见解,我们将不胜感激

下面是命令java-version的输出:

import java.util.ArrayList;
导入java.util.List;
导入java.util.Collections;
类MyApp{
公共静态void main(字符串[]args){
列表用户=新建ArrayList();
添加(新用户(“John Doe”);
添加(新用户(“Bob Smith”);
添加(新用户(“Jane Doe”);
添加(新用户(“比尔·盖茨”);
集合。排序(用户);
for(用户:用户)
System.out.println(用户名);
}
}
类用户实现可比较的{
公共字符串名称;
用户(字符串名){this.name=name;}
@覆盖公共整数比较(用户){
返回此.name.compareTo(user.name);
}
}
下面是我收到的丑陋错误消息:

MyApp.java:15: error: no suitable method found for sort(List<User>)
            Collections.sort(users);
                   ^
    method Collections.<T#1>sort(List<T#1>) is not applicable
      (inference variable T#1 has incompatible bounds
        equality constraints: User
        upper bounds: Comparable<? super T#1>)
    method Collections.<T#2>sort(List<T#2>,Comparator<? super T#2>) is     not appli
cable
      (cannot infer type-variable(s) T#2
        (actual and formal argument lists differ in length))
  where T#1,T#2 are type-variables:
    T#1 extends Comparable<? super T#1> declared in method     <T#1>sort(List<T#1>)
T#2 extends Object declared in method <T#2>sort(List<T#2>,Comparator<?     super
 T#2>)
1 error
MyApp.java:15:错误:找不到适合排序的方法(列表)
集合。排序(用户);
^
方法集合。排序(列表)不适用
(推理变量T#1的边界不兼容
等式约束:用户

上限:可比您的代码使用JDK 1.7.0.60、1.7.0.80、1.8.0.25和1.8.0.40编译得很好。可能您有一些早期的1.8.0.x javac,它们在泛型方面有很多问题。请尝试将其更新到最新版本。

您的代码使用JDK 1.7.0.60、1.7.0.80、1.8.0.25和1.8.0.40编译得很好。可能您有一些早期的1.8.0.x javac,其中包含泛型有很多问题。请尝试将其更新为最新版本。

如果编译器对此表示不满,请尝试给出有关类型的提示:

 Collections.<User>sort(users);
Collections.sort(用户);

如果编译器对此表示不满,请尝试给出有关类型的提示:

 Collections.<User>sort(users);
Collections.sort(用户);


您使用哪个java版本?java版本“1.8.0_25”java(TM)SE运行时环境(构建1.8.0_25-b18)java热点(TM)64位服务器虚拟机(构建25.25-b02,混合模式)由于您正在导入ArrayList、List和Collections,但不具有可比性,而且我以前也见过这样的情况:您是否定义了自己的接口Compariable?不,我没有定义任何内容。列表中的代码就是所有的代码。检查特殊用法:同一个包中有MyApp.java和User.java?您使用哪个java版本?java版本“1.8.0_25”java(TM)SE运行时环境(构建1.8.0_25-b18)java热点(TM)64位服务器虚拟机(构建25.25-b02,混合模式)由于您正在导入ArrayList、List和Collections,但不具有可比性,而且我以前也见过这样的情况:您是否定义了自己的接口Compariable?不,我没有定义任何内容。列表中的代码就是所有的代码。检查特殊用法:同一个包中有MyApp.java和User.java?您使用哪个java版本?java版本“1.8.0_25”java(TM)SE运行时环境(构建1.8.0_25-b18)java热点(TM)64位服务器虚拟机(构建25.25-b02,混合模式)由于您正在导入ArrayList、List和Collections,但不具有可比性,而且我以前见过这样的情况:您是否定义了自己的名为Compariable的接口?不,我没有定义任何内容。列表中的代码就是全部。检查特殊用法:同一个包中有一个MyApp.java和User.java?java版本“1.8.0_25”java(TM)SE运行时环境(构建1.8.0_25-b18)Java热点(TM)64位服务器虚拟机(构建25.25-b02,混合模式)嗯,当我下载并安装我的Java编译器时,大约是5或6个月前,它是当时的最新版本。因此,我认为我的编译器没有那么旧。据我所知,泛型功能已经存在很久了。Java版本“1.8.0_25”Java(TM)SE运行时环境(build 1.8.0_25-b18)Java热点(TM)64位服务器VM(build 25.25-b02,混合模式)好吧,当我下载并安装Java编译器时,大约5或6个月前,它是当时的最新版本。因此,我认为我的编译器没有那么旧。据我所知,泛型功能已经存在了很久。Java版本“1.8.0_25”Java(TM)SE运行时环境(build 1.8.0_25-b18)Java热点(TM)64位服务器虚拟机(build 25.25-b02,混合模式)嗯,当我下载并安装Java编译器时,大约是5或6个月前,它是当时的最新版本。因此,我认为我的编译器没有那么旧。据我所知,泛型功能已经存在很长时间了。错误:类集合中的方法排序不能应用于给定n个类型;集合。排序(用户);^required:找到列表:列表原因:显式类型参数用户不符合声明的绑定Comp-arableerror:类集合中的方法sort无法应用于给定n个类型;集合。sort(用户);^required:找到列表:列表原因:显式类型参数用户不符合声明的绑定Comp-arableerror:类集合中的方法sort无法应用于给定n个类型;集合。sort(用户);^必需:找到列表:列表原因:显式类型参数用户不符合声明的绑定Comp-able
 Collections.<User>sort(users);