タイプのリストが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;
}
}