Problemas com NumberFormat e JDBC

Bom dia pessoal. Gostaria que vocês me ajudassem. É o seguinte:

eu tenho o seguinte método:


public String verificaEscolaridade(String codEscolaridade){
		
		String escolaridade = "";
		
		if ( (codEscolaridade == " ") || (codEscolaridade == null) || (codEscolaridade.equals(null)) || (codEscolaridade.equals(" "))) {

			codEscolaridade = "0";
			escolaridade = "";
		}
		
		if (codEscolaridade == "" || codEscolaridade.equals("")){
			
			codEscolaridade = "0";
		}
		
		int codEscol = Integer.parseInt(codEscolaridade.trim());
		
		switch(codEscol){
		
		case 0:
			escolaridade = "";
		case 1:
			escolaridade = "Analfabeto";
			break;
		case 2:
			escolaridade ="Alfabetizado";
			break;
		case 3:
			escolaridade ="1o Grau Incompleto";
			break;
		case 4:
			escolaridade ="1o Grau Completo";
			break;
		case 5:
			escolaridade ="2o Grau Incompleto";
			break;
		case 6:
			escolaridade ="2o Grau Completo";
			break;
		case 7:
			escolaridade ="Tecnico completo";
			break;
		case 8:
			escolaridade ="Tecnico Incompleto";
			break;
		case 9:
			escolaridade ="Superior Incompleto";
			break;
		case 10:
			escolaridade ="Superior Completo";
			break;
		case 99:
			escolaridade ="Outra";
			break;
			
		}
		
		
		return escolaridade;
		
	}

e eu utilizo esse seguinte método aqui pra chamar o outro:


  produtor.setEscolaridadeConj(this.verificaEscolaridade(rs.getString(21)));

o erro que da é o seguinte:


Exception in thread "main" java.lang.NumberFormatException: For input string: ""
	at java.lang.NumberFormatException.forInputString(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at atualizacaoTabela.DAO.ConexaoDAO.verificaEscolaridade(ConexaoDAO.java:325)
	at atualizacaoTabela.DAO.ConexaoDAO.insereID(ConexaoDAO.java:125)
	at atualizacaoTabela.DAO.Teste.main(Teste.java:12)

ou seja, ele diz que não pode converter a string “” ,

mas no meu método tem uma verificação ( if String == “”)

alguém poderia me ajudar? Agradeço antecipadamente.

esse erro da na linha


int codEscol = Integer.parseInt(codEscolaridade.trim());

vc já tentou imprimir o retorno do método rs.getString(21) para verificar se está correto??

acredito que o problema possa estar aí!

tente chamar o método desta forma para testar:

produtor.setEscolaridadeConj(this.verificaEscolaridade("1"));  

abraço!

Valeu amigo pela ajuda, mas eu fiz diferente.

eu andei pensando e vi que

mudei apenas essa linha


if ( (codEscolaridade.trim() == "") || (codEscolaridade.trim().equals(""))){

e funcionou, ou seja, eu não estava utilizando o “trim” , para retirar os espaços.

mesmo assim, agradeço a ajuda. obrigado keyboarder pela atenção ! . abraços

Tudo isso:

 if ( (codEscolaridade == " ") || (codEscolaridade == null) || (codEscolaridade.equals(null)) || (codEscolaridade.equals(" "))) {   
  
            codEscolaridade = "0";   
            escolaridade = "";   
        }   
           
        if (codEscolaridade == "" || codEscolaridade.equals("")){   
               
            codEscolaridade = "0";   
        }   

Pode ser resumido para isso:

 if ( codEscolaridade == null || codEscolaridade.trim().length() == 0){
            codEscolaridade = "0";

Voce nao precisa comparar com == pois nada te garante que duas palavras iguais vem da mesma referencia… então use o equals que vai te mostrar sempre se a String é igual ou não…

Importante!

Igualdade entre objetos deve ser tratada com o métodos “equals”:

if ("".equals(minhaString)) { // verficação correta

}

if ("" == minhaString) { //
// não compara valores do objeto
// e sim a posição de memória do
// mesmo. Muitas vezes não funciona!!!
}

Muito bem galera. ótimas dicas ae. Agradeço a todos. é importante aquilo que foi citado em

igualdade em objetos e o resumo. Agradeço. obrigado.