Converter uma String em int, mas da erros, como resolver?

String entityId = requestContext.getPageParam("entityId");
try {
	transgId = Integer.parseInt(entityId);
	vLawsuit = busVaLawsuit.getByTransgIDCurStateCod(user.getCompanyId(),transgId);
} catch (pt.edinfor.util.EProjectException e) {
	requestContext.setSessionParam("accountType", accountType);
	this.sendRedirect(requestContext, "pt.edinfor.va.controler.LawsuitCnsDet", e);        
        e.printStackTrace();
	return;

java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:415)
at java.lang.Integer.parseInt(Integer.java:497)
at pt.edinfor.va.controler.TblApensDet.doVaMain(TblApensDet.java:113)

Cade o código da conversão, agradeceria se você também nos ajudasse!

Primeiro verifique se veio algo nessa linha:

String entityId = requestContext.getPageParam("entityId");

if (entityId != null){
    if (!entityId.isEmpty()){
        Pattern p = Pattern.compile("[0-9]{1,}");
        if (p.matcher(entityId).matches())
        {
            transgId = Integer.parseInt(entityId);
        }        
    }
}

Isso vai evitar de dar erro e você pode fazer algum controle para saber se não for número da um desvio no seu código!

obrigado, funcionou :slight_smile:

1 curtida