Comparable test = "test";

Olá.

Alguém pode me explicar por que isso compila?

Comparable test = “test”;

Obrigado.

Olá @Andregui7, tudo certo?

“test” é uma String e toda String implementa a interface Comparable, por isso esse código compila

Declaração da classe String:
public final class String extends Object implements Serializable, Comparable<String>, CharSequence

Neste caso Serializable test = “”; compilaria então, certo?

Certo, pois String implementa Serializable.

Esse é o mesmo conceito de polimorfismo quando se utiliza List, Set e Map, só não é tão usual.

1 curtida