Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 现有文件的自动增量ID_Java - Fatal编程技术网

Java 现有文件的自动增量ID

Java 现有文件的自动增量ID,java,Java,我有自动增加ID的代码,它工作得很好。但是,当我序列化实例并使用现有ID再次加载它时,新实例从1开始计数。有没有一种方法,如果我有ID1和ID2存在,新的将是3而不是1 String fName; String lName; String address; String phoneNum; int ID; static int PAT_ID = 1; ArrayList<Invoice> p_invoiceList; public Patient(String fName, Str

我有自动增加ID的代码,它工作得很好。但是,当我序列化实例并使用现有ID再次加载它时,新实例从1开始计数。有没有一种方法,如果我有ID1和ID2存在,新的将是3而不是1

String fName;
String lName;
String address;
String phoneNum;
int ID;
static int PAT_ID = 1;
ArrayList<Invoice> p_invoiceList;

public Patient(String fName, String lName, String address, String phoneNum) {
    super(fName, lName, address, phoneNum);
    p_invoiceList = new ArrayList<Invoice>();
    ID = PAT_ID;
    PAT_ID++;

}


public int getId() {
    return ID;
}
字符串fName;
字符串名称;
字符串地址;
字符串phoneNum;
int-ID;
静态int PAT_ID=1;
ArrayList p_发票列表;
公共患者(字符串fName、字符串lName、字符串地址、字符串phoneNum){
super(fName、lName、address、phoneNum);
p_invoiceList=new ArrayList();
ID=PAT_ID;
PAT_ID++;
}
公共int getId(){
返回ID;
}

Java序列化及其静态字段。它们不会序列化,在反序列化过程中会被忽略(请参阅)


您有静态PAT_ID,在反序列化之后,initalizer将其设置为1。然后ID将设置为1。

如果它是重复的,则将其标记为重复。