public void addStudent(String student) {
String [] temp = new String[students.length * 2];
for(int i = 0; i < students.length; i++){
temp[i] = students[i];
}
students = temp;
students[numberOfStudents] = student;
numberOfStudents++;
}
public String[] getStudents() {
String[] copyStudents = new String[students.length];
return copyStudents;
}
I'm trying to get the method getStudents to return a copy of the array that I made in the addStudent method. I'm not sure how to go about this.
1) Arrays.copyOf
public String[] getStudents() {
return Arrays.copyOf(students, students.length);;
}
2 System.arraycopy
public String[] getStudents() {
String[] copyStudents = new String[students.length];
System.arraycopy(students, 0, copyStudents, 0, students.length);
return copyStudents;
}
3 clone
public String[] getStudents() {
return students.clone();
}
Also see the answer about performance of each approach. They are pretty the same
System.arraycopy(students, 0, copyStudents, 0, students.length);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With