Ver lo que tenemos delante de nuestras narices requiere una lucha constante.
-- George Orwell (1903-1950) Escritor británico.
Un error en tiempo de ejecución como éste: java.lang.ClassCastException: [LFQN_ClassName; cannot be cast to FQN_ClassName, puede dejarte con cara de perplejidad durante algunos minutos. A mi me pasó. Y reconozco cierta vergüenza al admitir que fueron unos cuantos largos minutos en los que no daba crédito. Estaba tan concentrado en que el casting era correcto que no podía entender cómo la JVM me decía que no podía adaptar un tipo de dato a otro exactamente igual... Al cabo de unos minutos me di cuenta que la clave está en el corchete ("["). No se trata del mismo tipo: la máquina virtual me está diciendo que no puede convertir un array de ese tipo a ese mismo tipo (directo).
En efecto, el capítulo 4.3 de la especificación de la máquina virtual referente al fichero class, lo explica bien claro: estamos intentando convertir una instancia de String[] a String. En fin, es de estas veces que tienes la solución delante pero no la estás buscando: estás en otra cosa.... Hay que confiar más en los mensajes de error.
Por cierto que no veo sustituto de ésta url en el dominio oracle.com... así que puede que no esté disponible a partir del 1 de junio. Así es, amigos, uno de los primeros dominios que se registraron y más antiguos, dejará de existir (desaparecerá, en palabras de Oracle).
Referencias y más información: