有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在模型上包含列表?

所以我现在有一个员工模型,我想包括一些类似于员工“职位”或职位的列表。我寻找了如何做到这一点,但似乎没有一种很好的方法可以让Serializable模型通过Intent{}

这是我目前的型号

public class EmployeeDetails implements Serializable {
    int id, status, roleType;
    String firstName, lastName, passcode, email;
    int[] assignedTables;

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public int getRoleType() {
        return roleType;
    }

    public void setRoleType(int roleType) {
        this.roleType = roleType;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getPasscode() {
        return passcode;
    }

    public void setPasscode(String passcode) {
        this.passcode = passcode;
    }

    public int[] getAssignedTables() {
        return assignedTables;
    }

    public void setAssignedTables(int[] assignedTables) {
        this.assignedTables = assignedTables;
    }
}

建议的帖子是一个普通的Arraylist,我已经知道如何使用它了。我想要的是传递一个包含ArrayListSerializable。我想把int[]变成ArrayList


共 (3) 个答案

  1. # 2 楼答案

    ArrayList实现可序列化接口。这意味着,如果您想将int[]更改为ArrayList,那么可以直接通过intents传递EmployeeDetails类

    class A implements Serializable {
        ArrayList<Integer>a= new ArrayList<Integer>();
    }
    

    要发送,只需执行以下操作:

     Bundle b = new Bundle();
     A a = new A();
     b.putSerializable("AA",a);
     Intent i = new Intent(Activity1.this, Activity2.class);
     i.putExtra("B",b);
     startActivity(i);
    
  2. # 3 楼答案

    Instead of using Serializable I recommend using Parcelable because Parcelable is faster than Serializable interface also Parcelable array can be passed via Intent in android.

    不要使用:int[] assignedTables; 用法:private ArrayList<Integer> assignedTables;

    另外,实现Parcelable,在实现Parcelable之后,android将显示错误,只需按下红色灯泡图标。按alt+Enter(windows),这将实现所需的方法

    查看this article了解如何实现parcelable