interfaz CharSequence en Java 11 añadió método `compare`. ¿Por qué no `compareTo` de interfaz Comparable?

Albahaca Bourque:

La CharSequenceinterfaz ganó un nuevo método estático en Java 11: compare.

Este método devuelve una int:

el valor 0 si las dos CharSequence son iguales; un entero negativo si el primer CharSequence es lexicográficamente menor que la segunda; o un entero positivo si la primera CharSequence es lexicográficamente mayor que la segunda.

Eso suena igual compareTode Comparable. Sin embargo, el equipo de Java, obviamente, optó por no hacer que CharSequencese extiende Comparable. Por qué no? La lógica me escapa.

➥ ¿Qué es lo CharSequence::compareque no sería un ajuste apropiado para Comparable::compareTo?

Plancke:

Añadiendo Comparable<CharSequence>realmente no funcionaría ya que Stringlos implementos CharSequencey Comparable<String>.

Para la discusión, véase este post por uno de los desarrolladores de OpenJDK en relación con el tema.

Tip de ese mensaje: Una referencia método de la forma CharSequence::comparesería adecuado como un Comparator.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=202010&siteId=1
Recomendado
Clasificación