Uso do tipo Inteiro na instrução Switch em java [duplicate]

Esta pergunta já tem uma resposta aqui:

Usando inteiro na instrução Switch 6 respostas

Eu estava escrevendo algum código simples em java para o meu aplicativo Android e recebi esses erros.

case expressions must be constant expressions enquantoprivate static final Integer é constante

private static final Integer INVALID_USER = 901;
private static final Integer SENDING_FAILED = 902;
private static final  Integer OK = 903;
/*
 *
 *  And some more project related declaration...
 *
 */


        switch (responseCode){
            case INVALID_USER:

                    // logout
                    break;

            case SENDING_FAILED:

                    //resend request
                    break;

            case OK:
                    break;
        }

Isso é porque eu useiInteger Type, então mudei o tipo paraint e o problema está resolvido

Minha pergunta é por que não podemos usarInteger como uma expressão de caso.O Docs diz "Uma opção funciona com os tipos de dados primitivos byte, short, char e int. Também funciona com tipos enumerados (discutidos em Tipos de enumeração), a classe String e algumas classes especiais que envolvem certos tipos primitivos: Character, Byte, Curto e Inteiro " embora variável seja constante eu liessa questão mas não recebi nada

questionAnswers(3)

yourAnswerToTheQuestion