Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

245
Visualizações
¿Cómo puede una interfaz Stream extender la interfaz de flujo base que tiene límites de tipo al igual que la interfaz de flujo, es decir, Stream <T>?

Estaba revisando la documentación de Streams y observé que Stream es una interfaz escrita que extiende Base Stream con tipos como T y nuevamente Stream <T>

 public interface Stream<T> extends BaseStream<T,Stream<T>> { }

¿Cómo puede una interfaz Stream extender la interfaz de flujo base que tiene límites de tipo al igual que la interfaz de flujo, es decir, Stream <T> ?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

¿Por qué no podría?

Este es un truco que se usa en muchos lugares, por ejemplo, enumeraciones, que se definen como:

 public abstract class Enum<E extends Enum<E>>

La idea general es establecer un parámetro de tipo que represente su propio tipo .

Es por eso que la letra de ese parámetro es S. Eso significa "Self".

Por lo tanto, si observamos DoubleStream , se define como:

 public interface DoubleStream extends BaseStream<Double, DoubleStream> {}

El punto de hacer esto es para los métodos de 'retorno automático', o al menos, para los métodos que necesitan devolver el mismo tipo. Hay muchos de ellos en el concepto de flujo, como peek , limit o onClose .

Podría simplemente... no hacer eso, y definir las cosas de la siguiente manera:

 public interface BaseStream<T> { BaseStream parallel(); }

Pero el problema es que esto degrada los tipos. Si tengo un IntStream e invoco .parallel() en él, el compilador cree que el tipo es BaseStream . Por lo general, esto no es relevante (en el sentido de que IntStream puede ajustar el tipo de retorno, eso es válido según Java Lang Spec), pero a veces lo es.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda