我有一个类型列表,List<Iterable<Object>>
在某些情况下,集合内的对象也是Comparable
.
这意味着在某些情况下,它是一个列表,其中包含许多不是 A 类型的对象Comparable
,在某些其他情况下,它包含许多 B 类型的对象Comparable
。当我有一个 B 类型的对象列表时,我希望能够对它们进行排序。
当列表中的所有对象都是Comparable
我需要对它们进行排序时,使用Collections.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;
}
}