Javaで構造体配列をコピーする方法は何ですか?
Javaでは、通常、構造体の配列はクラスの配列で表現されます。構造体の配列をコピーするには、ArraysクラスのcopyOf()メソッドを使用します。この方法は、指定した長さの配列要素を新しい配列にコピーします。
以下是一个示例代码,展示如何复制一个结构体数组:
import java.util.Arrays;
// 定义一个结构体类
class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
public class Main {
public static void main(String[] args) {
// 创建一个结构体数组
Person[] persons = {new Person("Alice", 25), new Person("Bob", 30), new Person("Charlie", 35)};
// 复制结构体数组
Person[] copiedPersons = Arrays.copyOf(persons, persons.length);
// 遍历原数组
System.out.println("Original array:");
for (Person person : persons) {
System.out.println(person.name + " - " + person.age);
}
// 遍历复制数组
System.out.println("\nCopied array:");
for (Person person : copiedPersons) {
System.out.println(person.name + " - " + person.age);
}
}
}
上記のコードを実行すると、元の配列とコピー配列の内容が同じであることがわかります。これは、Arrays.copyOf()メソッドが元の配列のすべての要素を新しい配列にコピーするため、構造体の配列がコピーされることを実現するからです。