Java 中的结构体
Siddharth Swami
2023年1月30日
2021年10月2日
在编程中,结构体是用于创建包含变量、方法、不同类型的构造函数、运算符等的结构的关键字。它类似于持有不同类型数据并具有值类型的类。它创建需要较少内存的对象。
但是,Java 中不存在结构体。我们可以修改 Java 中的一些对象,将它们用作结构体。
下面讨论这些方法。
使用类模拟 Java 中的结构体
我们可以将类中的所有方法设为 public
来模拟结构。结构体和类之间的主要区别在于结构体默认是公共的,而类是私有的。因此,如果我们创建一个类并将其方法和变量更改为 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()
方法为 public
。然后,代码接受员工姓名和员工代码输入,并将值分别存储在 emp_name
和 emp_code
中的 EmployeeExample
类中。
使用 JUnion 插件模拟 Java 中的结构体
我们还可以使用 Project JUnion 插件。在这里,我们获得了帮助我们使用@Struct
注释创建结构体的软件。我们必须从站点 github.io/junion 安装插件并将其放在 maven 依赖项中。此外,我们必须添加 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 的新数组,然后使用这些方法添加数据并将它们存储在数组中。