我是 Java 新手,我正在尝试找到一种像 C 中的结构一样存储信息的方法。比如说,我想让一个程序雇用员工。它会从用户那里获取名字、姓氏和 ID 号并将其存储起来。然后,用户可以根据条件查看该信息(例如,如果数据库有超过 1 名员工)。任何人都可以建议最好的方法吗?
C 中的结构就像 Java 中的类一样,而且功能更强大,因为 Java 中的类可以包含方法,而 C++ 也可以。您创建一个新类。例如:
class Employee {
private String name;
private int code;
// constructor
public Employee(String name, int code) {
this.name = name;
this.code = code;
}
// getter
public String getName() { return name; }
public int getCode() { return code; }
// setter
public void setName(String name) { this.name = name; }
public void setCode(int code) { this.code = code; }
}
当你想创建多个员工时,就像在C:中一样创建数组
Employee[] arr = new Employee[100]; // new stands for create an array object
arr[0] = new Employee("Peter", 100); // new stands for create an employee object
arr[1] = new Employee("Mary", 90);
在 Java 16 中有
Records
(JDK 增强提案 395):
public record Employee(String firstName, String lastName, String id) {
}
它带有规范的构造函数、字段访问器、
hashCode()
、equals()
和toString()
实现。
我将创建一个具有公共字段和默认构造函数的公共类,如下所示:
public class Employee {
public String name, last_name;
// constructor
public Employee() {
this.name = "";
this.last_name= "";
}
}
....
//when using it
Employee e = new Employee();
e.name ="Joe";
e.last_name = "Doe";
我有一个大问题,Java 不支持结构。我正在编写一个 Android 应用程序,它通过蓝牙从基于 ARM 的嵌入式设备(用“C”编写)接收数据。接收到的数据是一个打包的字节数组,其中包含我的嵌入式设备的 EEPROM 的内容。
在“C”、C++ 或“C#”中,我可以简单地将此字节流“转换”为表示嵌入式设备上的 EEPROM 的结构,并通过引用该结构的成员以编程方式使用它们。在 Java 中,我没有这个选项,也没有好的方法来做到这一点,因为 Java(除了一个支持打包类的不起眼的 IBM 版本)不允许您拥有“打包”类,其中类成员在没有打包的情况下打包每个班级成员的页眉和页脚。
Cc plus 高清三星 A12 Glaxy Android 之歌+++ *三星的其他产品
另一个
引用*pahasu的三星deler