0

Simplemente he añadido .toLowerCase() para que todos me pase todas las letras a minúsculas, y me aparece un error de NullPointerException. Sin esa línea va todo bien:

String code = game.getValues().get(Constants.VALUE_MSSTORE_URL).toLowerCase();

La variable code tiene tanto letras como números. No creo que sea eso porque lo he probado en algún otro ejemplo y funciona bien, debe ser alguna excepción que no recoge.

  • Ese error suele aparecer porque intentas aplicar `.toLowerCase()` a un valor `null` –  Jun 07 '17 at 05:38

1 Answers1

3

Lo único que se puede aconsejar es que evites el null:

// Se recupera el valor del mapa
String value = game.getValues().get(Constants.VALUE_MSSTORE_URL);
String code = "";

// Se comprueba que no sea nulo
if(value!=null){
    code = value.toLowerCase();
}

// Si código tiene valor
if(!code.isEmpty()){
    // Haz algo
}else{
    // Haz otra cosa
}
Héctor
  • 1,774
  • 8
  • 13
  • ¡Gracias! Es lo que había hecho pero esperaba que hubiese una forma de ponerlo en una línea. He estado probando y de momento no me ha dado problema. –  Jun 07 '17 at 07:18
  • He dejado el programa toda la noche ejecutándose y me acaba de devolver de nuevo el error. Estaba usando como condicional `!code.equals("null")`. Probaré con el tuyo a ver si funciona. –  Jun 07 '17 at 13:21
  • Claro, es que puede que code sea null y por tanto, al ejecutar el método equals sobre code también te lanzará una excecpción NullPointerException – Héctor Jun 07 '17 at 13:26