Cast de Object para Integer?

Estava usando esse método para converter meu Object em Integer mas deu erro de formato.

public static Integer validarRetornoInteger(Object object) {
    if (object != null) {
	    return (Integer) object;
    }
    return null;
}

A solução por enquanto foi iniciar um novo Integer com a String do Object.

public static Integer validarRetornoInteger(Object object) {
	if (object != null && object.hashCode() != 0) {
		Integer objectInteger = new Integer(object.toString());
		return objectInteger;
	}
	return null;
}

Alguém sabe como posso fazer cast nesse caso?

Acho que você pode estar fazendo confusao entre cast e conversao. Cast é quando seu Object já é um Integer, você sabe disso, mas precisa contar pro compilador pois ele nao sabe. Daí você usa aquela primeira sintaxe:

Object souInteger = 2;
Integer jaSabia = (Integer) souInteger;

Conversao é quando seu objeto pode ser convertido para um Integer, daí você pode usar a sintaxe abaixo:

Object possoVirarInteger = "2";
Integer vireiInteger =  Integer.valueOf((String) possoVirarInteger);

Repare que o método valueOf precisa de uma string que possa ser convertida em integer.
Por isso estou fazendo um cast para string.

Outra coisa, geralmente nao é uma boa idéia retornar null na suas funçoes.
É muito fácil alguém esquecer de verificar e causar nullpointer na sua aplicaçao.

Quando der errado você pode tentar alternativas como: retonar um valor default que vc passa num segundo parâmetro, lançar uma exceçao, retornar um Optional.

Entendi, eu tava usando cast errado, o que vem é String mesmo.

Vou usar com o valueOf então, obrigado. Quanto ao return null, tava usando por causa da persistência no banco, quando objeto tiver zerado eu não salvo nada. Porém, como é um método global na minha aplicação, reamente pode atrapalhar.

Se vc quer ter certeza de que vc pode fazer esta conversão via cast, utilize o metodo isAssignableFrom

https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#isAssignableFrom(java.lang.Class)

agora se vc quiser converter pra string e entao tentar parsear como algum tipo numerico, saiba q isso pode não funcionar. Nesse caso vc tem que definir o comportamento, talvez lançando uma exception.