Java の構造体
プログラミングでは、構造体は、変数、メソッド、さまざまなタイプのコンストラクター、演算子などを含む構造体を作成するためのキーワードです。これは、さまざまなタイプのデータを保持し、値タイプを持つクラスに似ています。必要なメモリが少ないオブジェクトを作成します。
ただし、構造体は Java には存在しません。Java でいくつかのオブジェクトを変更して、それらを構造体として使用することができます。
これらの方法については、以下で説明します。
Java でクラスを使用して構造体をシミュレートする
クラス内のすべてのメソッドをパブリックにして、構造体をシミュレートできます。構造体とクラスの主な違いは、構造体はデフォルトでパブリックであり、クラスはプライベートであるということです。したがって、クラスを作成し、そのメソッドと変数を public に変更すると、構造体と同様に機能します。
このロジックは、次の例で実装します。
class EmployeeExample {
private String emp_name;
private int emp_code;
// constructor
public Employee(String emp_name, int emp_code) {
this.emp_name = emp_name;
this.emp_code = emp_code;
}
// getter
public String getName() {
return emp_name;
}
public int getCode() {
return emp_code;
}
public static void main(String[] args) {
EmployeeExample[] array = new EmployeeExample[2]; // new stands for create an array object
array[0] = new EmployeeExample("Ram", 1); // new stands for create an employee object
array[1] = new EmployeeExample("Shyaam", 2);
for (int i = 0; i < array.length; i++) {
System.out.println(array[i].getName() + " " + array[i].getCode());
}
}
}
出力:
Ram 1
Shyaam 2
上記の例では、コンストラクターと getName()
および getCode()
メソッドをパブリックとして作成しました。次に、コードは従業員名と従業員コードの入力を受け取り、値をそれぞれ emp_name
と emp_code
のクラス EmployeeExample
に格納します。
Java で JUnion プラグインを使用して構造体をシミュレートする
ProjectJUnion プラグインを使用することもできます。ここでは、@Struct
アノテーションを使用して構造体を作成するのに役立つソフトウェアを入手します。プラグインをサイト github.io/junion からインストールし、Maven 依存関係に配置する必要があります。また、同じ Web サイトからダウンロードできる jar ファイル名 junion.jar
を追加する必要があります。
@Struct
アノテーションは、Java で構造体を作成するのに役立つメソッドで構成されています。
次の例は、上記の方法を示しています。
import theleo.jstruct.Struct;
public class Struct {
@Struct
public static class Emp_Name {
public String first_Name, middle_Name, last_Name;
}
public static void main(String[] args) {
Emp_Name[] array = new Emp_Name[2];
array[0].first_Name = "Ram";
array[0].middle_Name = "";
array[0].last_Name = "Sharma ";
System.out.println(
"Name : " + array[0].first_Name + " " + array[0].middle_Name + " " + array[0].last_Name);
}
}
出力:
Name : Ram Sharma
ここでは、構造体として機能し、いくつかのメソッドで構成される静的パブリッククラス Emp_Name
を作成します。次に、メインクラスで、長さ 2 の新しい配列を作成し、メソッドを使用してデータを追加し、それらを配列に格納しました。