Java自动增量id

Java自动增量id,java,Java,我正在用Java编写代码,但它不起作用: public class job { private static int count = 0; private int jobID; private String name; private boolean isFilled; public Job(, String title, ){ name = title; isFilled = false; jobID = ++count;

我正在用Java编写代码,但它不起作用:

public class job
{
   private static int count = 0; 
   private int jobID;
   private String name;
   private boolean isFilled;

   public Job(, String title, ){
      name = title;
      isFilled = false;
      jobID = ++count; 
  }
}
我需要在创建新条目时自动增加Id

public class job
{
    private static int jobID;
    private String name;
    private boolean isFilled;

    public Job(String title){
        name = title;
        isFilled = false;

        synchronized {
            jobID = jobID + 1;
        } 
}
您的代码可以工作,但如果您点击
Integer.MAX\u VALUE
,可能会遇到一些问题

选择
long
可能是更好的解决方案。或者,如果您只需要唯一标识符
UUID.randomUUID()
请尝试以下操作:

使用以下命令:

public class TestIncrement {
private static int count = 0;
private int jobID;
private String name;

private boolean isFilled;

public TestIncrement(String title) {
    name = title;

    isFilled = false;
    setJobID(++count);
}

public int getJobID() {
    return jobID;
}

public void setJobID(int jobID) {
    this.jobID = jobID;
}
}

请使用以下内容来测试此功能

public class Testing {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub

    for (int i = 0; i < 10; i++) {
        TestIncrement tst = new TestIncrement("a");
        System.out.println(tst.getJobID());
    }
}
公共类测试{
/**
*@param args
*/
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
对于(int i=0;i<10;i++){
TestIncrement tst=新的TestIncrement(“a”);
System.out.println(tst.getJobID());
}
}

}

您已经在这样做了,顺便说一句,如果您正在创建多个作业对象,请删除
字符串标题周围的逗号,然后在类外跟踪作业id(给您作业1、作业2等)@JattnetBorn2Code在使其可编译后就可以了。认为它可以工作(如果您没有超过200万个作业)并更正为构造函数以使其可编译。查看您的作业构造函数,我认为它甚至不会编译..谢谢,没有看到AtmicInteger的+1(没有提到多线程,但线程安全总是好的)哪一个是最终的?最终原子整数?这意味着一旦计数变量初始化,它就无法更改。
public class TestIncrement {
private static int count = 0;
private int jobID;
private String name;

private boolean isFilled;

public TestIncrement(String title) {
    name = title;

    isFilled = false;
    setJobID(++count);
}

public int getJobID() {
    return jobID;
}

public void setJobID(int jobID) {
    this.jobID = jobID;
}
public class Testing {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub

    for (int i = 0; i < 10; i++) {
        TestIncrement tst = new TestIncrement("a");
        System.out.println(tst.getJobID());
    }
}