Não ceitar nulo, como proceder?

Alguém sabe me dizer o motivo desse método não está funcionando ?

if (tipo.contains("Texto") && !snreferencia.contains("Sim")) {
            Object obj = CadresultadoTabela.getValueAt(linha, 31);
            if (obj == null || obj.toString().trim().isEmpty()) {
                modelo.setValueAt("teste", linha, 33);
            }
            String valor1 = CadresultadoTabela.getValueAt(linha, 27).toString(); //Especificacao
            String valor2 = CadresultadoTabela.getValueAt(linha, 31).toString(); //Valor digitado pelo usuario  
            if (valor1.equals(valor2)) {
                modelo.setValueAt("Aprovado", linha, 33);
//                modelo.isCellEditable(linha, 32);
            } else {
                modelo.setValueAt("Reprovado", linha, 33);
            }

sendo que esse aqui funciona perfeitamente

else if (tipo.contains("Min e Max") && !snreferencia.contains("Sim")) {
            Object obj = CadresultadoTabela.getValueAt(linha, 30);
            if (obj == null || obj.toString().trim().isEmpty()) {
                modelo.setValueAt("", linha, 33);
            }
            Float valornumerico = Float.parseFloat(CadresultadoTabela.getValueAt(linha, 30).toString()); //Valor digitado pelo usuario   
            if (valornumerico >= Float.parseFloat(CadresultadoTabela.getValueAt(linha, 17).toString()) && valornumerico <= Float.parseFloat(CadresultadoTabela.getValueAt(linha, 18).toString())) {
                modelo.setValueAt("Aprovado", linha, 33);
            } else {
                modelo.setValueAt("Reprovado", linha, 33);
//                modelo.isCellEditable(linha, 32);
            }

Tens como colocar o erro que aparece?
Seria preciso muito mais informações do fonte para ter certeza do porque do erro…