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];