I've been using the notes from Simple Apex class to return a list of strings. I am having trouble getting this code to work. I'm writing a simple Apex Class
as part of the Trailhead module Getting Started with Apex. Here's what I'm trying to do:
Create an Apex class that returns an array (or list) of formatted
strings ('Test 0', 'Test 1', …). The length of the array is
determined by an integer parameter.
- The Apex class must be called 'StringArrayTest' and be in the public
scope.- The Apex class must have a public static method called
'generateStringArray'.- The 'generateStringArray' method must return an
array (or list) of strings. Each string must have a value in the
format 'Test n' where n is the index of the current string in the
array. The number of returned strings is specified by the integer
parameter to the 'generateStringArray' method.
Code
public class StringArrayTest {
// Public Method
public static void generateStringArray (Integer length) {
// Instantiate the list
String[] myArray = new List<String>();
// Iterate through the list
for(Integer i=0;i<length;i++) {
// Populate the array
myArray.add('Test ' + i);
// Write value to debug the log
System.debug(myArray[i]);
} // end loop
return myArray;
} // end method
} // end class
Error Message
Void method must not return a value
Best Answer
You declared your return type as
void
. Change it toList<String>
.Incorrect
Correct
It would be worth your time to read up on Class Methods:
It is your
data_type
that you have incorrectly specified asvoid
in this case.