Java 对“list”类型的列表进行排序<;Iterable<;对象>&燃气轮机`

Java 对“list”类型的列表进行排序<;Iterable<;对象>&燃气轮机`,java,collections,interface,comparable,iterable,Java,Collections,Interface,Comparable,Iterable,我有一个类型为list的列表,在某些情况下,集合中的对象也是可比的 这意味着在某些情况下,它是一个包含许多类型a的对象的列表,这些类型a的对象不可比,而在另一些情况下,它包含许多类型B的对象,这些类型B的对象可比。当我有一个类型为B的对象列表时,我希望能够对它们进行排序 当列表中的所有对象都是可比较的时,我需要使用集合.sort()或类似的方法对它们进行排序。Java不允许我强制转换整个列表,也不能强制转换单个元素,因为它们可能无法实现Comparable接口。附近有工作吗 如果有用,以下是我的

我有一个类型为
list
的列表,在某些情况下,集合中的对象也是
可比的

这意味着在某些情况下,它是一个包含许多类型a的对象的列表,这些类型a的对象不可比,而在另一些情况下,它包含许多类型B的对象,这些类型B的对象可比。当我有一个类型为B的对象列表时,我希望能够对它们进行排序

当列表中的所有对象都是可比较的时,我需要使用集合.sort()或类似的方法对它们进行排序。Java不允许我强制转换整个列表,也不能强制转换单个元素,因为它们可能无法实现
Comparable
接口。附近有工作吗

如果有用,以下是我的代码:

    Iterable<Object> iterable;

    List<Iterable<Object>> valori = new ArrayList<Iterable<Object>>();

    Integer valoriLetti = 0;

    iterable = new ArrayList<Object>();
    while (iterable != null && valoriLetti < numero) {
        // Object object = beanReader.read();
        try {
            iterable = (Iterable<Object>) beanReader.read();
        } catch (InvalidRecordException ex) {

            log.error(this.toString());
            log.error(ex);
            log.error(ex.getStackTrace());
        }

        if (iterable != null) {
            ((IEntityAmount) iterable).moltiplicaImporti();
            ((IEntityAmount) iterable).troncaImporti();
            valori.add(iterable);
            valoriLetti += 1;

            // if (iterable.iterator().hasNext()) {
            // valori.add(leggiValori(iterable));
            // valoriLetti += 1;
            // }
        } else {
            break;
        }
    }
Iterable;
List valori=new ArrayList();
整数valoriLetti=0;
iterable=新的ArrayList();
while(iterable!=null&&valoriLetti
此答案解释了如何投射
集合

此答案解释了如何投射
集合

您希望对象如何排序?除非所有元素都具有可比性,否则这根本没有意义。你到底想做什么?如果我们知道您真正的用例是什么,我们可能会帮助您找出一些有意义的东西。@LouisWasserman抱歉,我没有解释我自己。在某些情况下,列表包含许多不可比较的A类型对象。在其他情况下,该列表包含许多可比较的B类对象。@Keppil我不确定我是否理解您的问题。我想根据我已经实现的
compareTo()
方法对它们进行排序。@Vitalij:在编辑之前,您的问题说明它们可能无法实现Comparable,因此我提出了问题。我知道你找到了你想要的答案,所以一切都很好。你希望你的对象如何排序?除非所有元素都是可比较的,否则这根本没有意义。你到底想做什么?如果我们知道您真正的用例是什么,我们可能会帮助您找出一些有意义的东西。@LouisWasserman抱歉,我没有解释我自己。在某些情况下,列表包含许多不可比较的A类型对象。在其他情况下,该列表包含许多可比较的B类对象。@Keppil我不确定我是否理解您的问题。我想根据我已经实现的
compareTo()
方法对它们进行排序。@Vitalij:在编辑之前,您的问题说明它们可能无法实现Comparable,因此我提出了问题。我知道你找到了你想要的答案,所以一切都很好。