Substituindo e retornando compatibilidade de tipo
O seguinte compila sem qualquer problema
boolean flag = true;
Boolean flagObj = flag;
Agora imaginando o seguinte cenário
interface ITest{
Boolean getStatus();
}
class TestImpl implements ITest{
public boolean getStatus(){ // Compile error: return type is incompatible
return true;
}
}
Minha pergunta é sobre o erro de compilação na linha mencionada. Minha interface menciona o tipo de retorno comoBoolean
mas o método implementado retornaboolean
(o literal)
Minha pergunta é, seBoolean
eboolean
são compatíveis, então porque o compilador está reclamando? O autoboxing não se aplica aqui?