Convertir valores de mapa en matriz de cadenas

Aquí, estoy tratando de convertir los valores del mapa en la matriz de cadenas, pero estoy recibiendo

Error

ERROR/AndroidRuntime(23588): Caused by: java.lang.ClassCastException: [Ljava.lang.Object; 

Código

 Map<String,String> contactNumber = new HashMap<String,String>(); String results [] = (String[]) contactNumber.values().toArray(); 

3 Solutions collect form web for “Convertir valores de mapa en matriz de cadenas”

Debe utilizar el otro método toArray (T [] a) .

 String[] result = contactNumber.values().toArray(new String[0]); 

No puede realizar el reparto como este. En su lugar, llame al otro método toArray :

 String[] result = contactNumber.values().toArray(new String[0]); 

Está invocando el método toArray () en la interfaz Collection que devuelve una matriz Object. Cambiar a toArray (T [] a) debería ayudarlo a resolver el problema. Los javadocs deberían ayudar a aclarar la respuesta más allá.

 /** * Returns an array containing all of the elements in this collection. * If this collection makes any guarantees as to what order its elements * are returned by its iterator, this method must return the elements in * the same order. * * <p>The returned array will be "safe" in that no references to it are * maintained by this collection. (In other words, this method must * allocate a new array even if this collection is backed by an array). * The caller is thus free to modify the returned array. * * <p>This method acts as bridge between array-based and collection-based * APIs. * * @return an array containing all of the elements in this collection */ Object[] toArray(); /** * Returns an array containing all of the elements in this collection; * the runtime type of the returned array is that of the specified array. * If the collection fits in the specified array, it is returned therein. * Otherwise, a new array is allocated with the runtime type of the * specified array and the size of this collection. * * <p>If this collection fits in the specified array with room to spare * (ie, the array has more elements than this collection), the element * in the array immediately following the end of the collection is set to * <tt>null</tt>. (This is useful in determining the length of this * collection <i>only</i> if the caller knows that this collection does * not contain any <tt>null</tt> elements.) * * <p>If this collection makes any guarantees as to what order its elements * are returned by its iterator, this method must return the elements in * the same order. * * <p>Like the {@link #toArray()} method, this method acts as bridge between * array-based and collection-based APIs. Further, this method allows * precise control over the runtime type of the output array, and may, * under certain circumstances, be used to save allocation costs. * * <p>Suppose <tt>x</tt> is a collection known to contain only strings. * The following code can be used to dump the collection into a newly * allocated array of <tt>String</tt>: * * <pre> * String[] y = x.toArray(new String[0]);</pre> * * Note that <tt>toArray(new Object[0])</tt> is identical in function to * <tt>toArray()</tt>. * * @param a the array into which the elements of this collection are to be * stored, if it is big enough; otherwise, a new array of the same * runtime type is allocated for this purpose. * @return an array containing all of the elements in this collection * @throws ArrayStoreException if the runtime type of the specified array * is not a supertype of the runtime type of every element in * this collection * @throws NullPointerException if the specified array is null */ <T> T[] toArray(T[] a); 
  • Android: sobreescribir onPause y onResume - forma correcta
  • Convertir la hora de la época en la fecha y la hora de la fecha en la época en Android
  • Cómo descomprimir un archivo 7zip en Android?
  • EXCEPCIÓN FATAL: main java.lang.VerifyError: net.sourceforge.jtds.jdbc.TdsCore
  • No se pueden agregar detalles del producto mientras se crea una nueva cotización
  • Port iPhone aplicación a Android
  • ¿Cómo depurar el código fuente de java cuando implemento un detector personalizado para Lint?
  • TabLayout con viewpager no desplazamiento suave
  • Eficiencia de Android: importar métodos estáticos o importar la clase
  • SMACK XEP-313 Implementación
  • StrictMode se queja de que InputStream no esté cerrado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.