• java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String

    Al jefe le salto un error en una webapp con esta descripcion:

    java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String
    

    Una cosa muy rara, porque ocurria en el request con este codigo:

    Map parameters = request.getParameterMap();
    String paramx = (String)parameters.get("PARAM1");
    

    Surfeando un poco la web encontre que es lo que pasaba..

    La cosa es que request.getParameterMap() retorna un Map de <String,String[]> no uno de <String,String>. Esta es la primera vez que veo que Generics es realmente util.

    Para resolver esto hay que poner entonces:

    Map parameters = request.getParameterMap();
    String paramx = ((String[])parameters.get("PARAM1"))[0];
    

Leave a comment