Estate atento porque en esta división encontrarás la contestación que buscas.
Solución:
No puedes instanciar un List
así usando un número entero. No necesita especificar explícitamente cuántos elementos van a la lista cuando se crea. En su lugar, simplemente elimine el número entero:
//Instantiate the list
String[] myArray = new List();
Tu lógica en tu bucle también parece ser incorrecta. Específicamente, myArray
El tamaño de siempre será 0 cuando lo instancias. Cambie su lógica de bucle a:
for(Integer i=0;i
Desea generar una Lista de cadenas basada en el i
variable. Querrás cambiar tu lógica interna a:
//Populate the array
myArray.add('Test ' + i);
// Write value to the debug log
System.debug(myArray[i]);
Finalmente, desea devolver ese Array. Debe cambiar su método para que el tipo de devolución ya no sea void
cambiando su firma:
public static String[] generateStringArray(Integer length)
entonces solo es cuestion de return
eso array al final de su método:
return myArray;
Esto lo uniría todo como:
public class StringArrayTest
//Public Method
public static String[] generateStringArray(Integer length)
//Instantiate the list
String[] myArray = new List();
//Iterate throught the list
for(Integer i=0;i
Algo más de información sobre los métodos Arrays and Lists, Loops y Class para futuras referencias.
el problema esta en la siguiente linea
String[] myArray = new List(length);
Las listas en Apex no tienen un constructor para crear listas de longitud predefinida (consulte el documento). Esto deberia resolver el problema:
String[] myArray = new List();
PS para satisfacer sus requisitos, también tendrá que cambiar la condición de bucle de esta manera:
for(Integer i=0;i
Aquí está mi oportunidad:
public class StringArrayTest
//Public Method
public static List generateStringArray(Integer length)
//Instantiate the list
List myArray = new List();
//Iterate throught the list
for(Integer i=0;i
Acuérdate de que tienes la capacidad de valorar esta reseña si topaste tu inconveniente .