Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.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 使用与泛型类相反的lambda对名称进行排序_Java_Sorting_Generics - Fatal编程技术网

Java 使用与泛型类相反的lambda对名称进行排序

Java 使用与泛型类相反的lambda对名称进行排序,java,sorting,generics,Java,Sorting,Generics,在我的TAK中,我需要按照和泛型类相反的字母顺序对列表进行排序 类具有以下参数: public class CarSaloon<T extends Car> private List<T> listOfCars: public CarSaloon(){this.listOfCars= new ArrayList<T>;} + get and set 反向只需这样做,顺序是向后的,但我需要按字母顺序对其进行排序,您应该按照您希望得到结果的方式,覆盖Comp

在我的TAK中,我需要按照和泛型类相反的字母顺序对列表进行排序

类具有以下参数:

public class CarSaloon<T extends Car>

private List<T> listOfCars:

public CarSaloon(){this.listOfCars= new ArrayList<T>;} + get and set

反向只需这样做,顺序是向后的,但我需要按字母顺序对其进行排序,您应该按照您希望得到结果的方式,覆盖
Comparator
中的compare方法。您的类只需
实现Comparator
并添加:

@Override
    public int compare(ClassName car1, ClassName car2) {
        String carName1= car1.getCar();
        String carName2 = car2.getCar();

        // ascending order (descending order would be: name2.compareTo(name1))
        return name1.compareTo(name2);
    }

如果它不能给你想要的输出-修改它。

你的代码非常混乱,看起来不像你想象的那样:你把
列表
列表
搞混了。但是CarShop是通用列表,我需要对用t类Car扩展的类进行排序。我知道汽车店的等级应该是CarSaloon>Car。这只是我写的一个例子。我编辑了这篇文章,希望现在能更清楚地看到
列表排序
应该是
列表
类型,因为它包含汽车,而不是轿车。这就是为什么Intellij cast后面是@LouisWasserman提到的主要问题是列表类型不正确,应该是:
列表排序=(List)carSaloon.getListOfCars()然后分类工作正常:
carsaroon carsaroon=新carsaroon();carSaloon.setListOfCars(阵列.asList(新车(“奥迪”)、新车(“保时捷”)、新车(“宝马”)排序输出:
Car:Porsche->Car:BMW->Car:Audi
这是另一项任务,我已经完成了,但肯定有帮助!我可以用if T extensed class Car做吗?@sdavb当然,你应该像
公共类SomeClass
那样做。希望我在任何方面都能帮助您:)当您想要得到“T必须扩展片段并实现SomeInterface”这样的结果时,我们就是这样做的,我会尝试一下
for(Car c:listSorting)
 System.out.println(c.toString());
@Override
    public int compare(ClassName car1, ClassName car2) {
        String carName1= car1.getCar();
        String carName2 = car2.getCar();

        // ascending order (descending order would be: name2.compareTo(name1))
        return name1.compareTo(name2);
    }