在Java中创建类似struct的数据结构

问题描述 投票:0回答:5

我是 Java 新手,我正在尝试找到一种像 C 中的结构一样存储信息的方法。比如说,我想让一个程序雇用员工。它会从用户那里获取名字、姓氏和 ID 号并将其存储起来。然后,用户可以根据条件查看该信息(例如,如果数据库有超过 1 名员工)。任何人都可以建议最好的方法吗?

java c data-structures
5个回答
24
投票

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);

4
投票

在 Java 16 中有

Records
JDK 增强提案 395):

public record Employee(String firstName, String lastName, String id) {
}

它带有规范的构造函数、字段访问器、

hashCode()
equals()
toString()
实现。


2
投票

我将创建一个具有公共字段和默认构造函数的公共类,如下所示:

    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";

0
投票

我有一个大问题,Java 不支持结构。我正在编写一个 Android 应用程序,它通过蓝牙从基于 ARM 的嵌入式设备(用“C”编写)接收数据。接收到的数据是一个打包的字节数组,其中包含我的嵌入式设备的 EEPROM 的内容。

在“C”、C++ 或“C#”中,我可以简单地将此字节流“转换”为表示嵌入式设备上的 EEPROM 的结构,并通过引用该结构的成员以编程方式使用它们。在 Java 中,我没有这个选项,也没有好的方法来做到这一点,因为 Java(除了一个支持打包类的不起眼的 IBM 版本)不允许您拥有“打包”类,其中类成员在没有打包的情况下打包每个班级成员的页眉和页脚。


0
投票

Cc plus 高清三星 A12 Glaxy Android 之歌+++ *三星的其他产品

  • 三星其他产品## EMEI789087

  • cc++## faixann ##

另一个

引用*pahasu的三星deler

  1. A40s
  2. A12G
  3. 数据线
  4. 三星
  5. 银河
  6. 在路上
  7. 艾姆斯
  8. 其他
  9. 在上面
  10. 库存转其他
© www.soinside.com 2019 - 2024. All rights reserved.