整数增量和连字符串

时间:2011-03-04 16:40:59

标签: java auto-increment

我正在创建一个生成Integer类型的唯一ID的方法,并且想知道如何执行以下操作。

在我的对象中,我想从我的setter方法中调用generateUniqueID方法。 generateUniqueID将生成递增数字,然后将其附加到字符串

e.g。提醒-1,提醒-2等......

我不太确定如何做到这一点,并且想知道是否有人可以提供帮助?

谢谢

4 个答案:

答案 0 :(得分:5)

只要没有并发。

private static int reminderID = 1;

public synchronized static String generateUniqueID() {
    String uniqueId = "Reminder-" + reminderID;
    reminderID++;
    return uniqueId;
}

答案 1 :(得分:3)

private static final AtomicInteger counter = new AtomicInteger(1);

public String generateUniqueID() {
    return "Reminder-" + counter.getAndIncrement();
}

答案 2 :(得分:1)

如果你有很多这些,你可以使用base 36编码。

private final AtomicLong counter = new AtomicLong();

public String generateUniqueID() {
    return "Reminder-" + Long.toString(counter.incrementAndGet(), 36);
}

答案 3 :(得分:0)

也许:

class Classname {
    private static int highestId = 0;
    int object_id;

    public Classname() {
        object_id = highestId++;
    }
}

会工作吗?

如上所述,这不是线程安全的。