No KafkaService.java fiquei em dúvida por que o parse é declarado dessa forma, sem passar o T '' como generic:
private final ConsumerFunction parse;
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
No KafkaService.java fiquei em dúvida por que o parse é declarado dessa forma, sem passar o T '' como generic:
private final ConsumerFunction parse;
Oi Valdir, tudo bem?
Desculpe a demora em retornar.
No caso específico do KafkaService.java, o parse é declarado sem passar o tipo genérico '' porque o tipo genérico é definido na própria classe KafkaService. Provavelmente, você encontrará algo como:
public class KafkaService<T> {
private final ConsumerFunction<T> parse;
...
}
Nesse caso, o tipo genérico '' é definido na declaração da classe KafkaService e é utilizado para definir o tipo do ConsumerFunction 'parse'. Dessa forma, quando você criar uma instância da classe KafkaService, você poderá especificar o tipo que deseja utilizar para o ConsumerFunction.
Por exemplo, se você quiser utilizar um ConsumerFunction que recebe e retorna Strings, você poderia fazer algo como:
KafkaService<String> kafkaService = new KafkaService<>();
ConsumerFunction<String> parse = kafkaService.parse;
Espero que isso tenha esclarecido sua dúvida!
Um abraço e bons estudos.