¿Cómo hacer frente a una clase que implementa Comparable <?> Y no Comparable <E>?

He creado un Iteratorcontenedor que devuelve elementos hasta que se alcanza un cierto umbral de la siguiente manera:

public class MyIterators {
    public static <E extends Comparable<E>> Iterator<E> threshold(final Iterator<? extends E> iterator, final E threshold) {
        ...
    }
}

Quiero usar esto para una Iterator<ChronoZonedDateTime>función de utilidad de la siguiente manera:

public static Iterator<ZonedDateTime> oneYear(final Iterator<ZonedDateTime> iterator) {
    return MyIterators.threshold(iterator, ZonedDateTime.now().plusYears(1));
}

Estoy obteniendo:

method threshold in class MyIterators cannot be applied to given types;
[ERROR]   required: java.util.Iterator<? extends E>,E
[ERROR]   found: java.util.Iterator<java.time.chrono.ChronoZonedDateTime>,java.time.ZonedDateTime
[ERROR]   reason: cannot infer type-variable(s) E
[ERROR]     (argument mismatch; java.util.Iterator<java.time.chrono.ChronoZonedDateTime> cannot be converted to java.util.Iterator<? extends java.time.chrono.ChronoZonedDateTime<?>>)

El compilador está inferiendo en ChronoZonedDateTimelugar de ZonedDateTime, mientras que no estoy declarando / usando esa clase en absoluto.

¿Cómo hago frente a esto? ¿Presento un modelo manual o todavía hay una manera de hacer todo esto de forma segura?

Estoy trabajando con JDK 8.x.

Respuesta 1

java -version java versión "1.6.0_26" Java (TM) SE Runtime Environment (compilación 1.6.0_26-b03) Java HotSpot (TM) Server VM (compilación 20.1-b02, modo mixto) Ahora tengo una aplicación Java que dice A ...

He escrito una macro en ImageJ para ejecutar "Mediciones" en una lista de archivos de imagen JPEG. Estoy ejecutando el código en una máquina Linux remota en modo sin cabeza usando headless.jar. Me sale lo siguiente ...

Tengo una pregunta sobre la teoría normal de subprocesos de Java. El hilo A ha bloqueado algún objeto, digamos xObj. Ahora, ¿cómo sabe el Hilo B que el Hilo A ya ha bloqueado el objeto xObj? Cómo esto ...

Una biblioteca que estoy escribiendo tiene una clase que implementa un mapa bidimensional y también proporciona, para una lectura eficiente, mapas más pequeños para las vistas de fila / columna. Hasta ahora, todos los métodos se han anulado para que ...