2016-01-29 45 views
1

我正在嘗試生成從0開始的唯一自動增量編號。 我找到了這樣做使用下面的代碼:使用Java生成自動增量編號

private static final AtomicInteger count = new AtomicInteger(0); 
uniqueID = count.incrementAndGet(); 

我可以手動創建自動遞增ID:

例如:

int i = 0; // Obviously I will declare this variable as global 
++i; 

這樣,我可以管理要做到這一點。但我不想手動執行此操作。我找到了一些java方法,它將採用所有這些東西。

而且我發現下面的代碼:

private static final AtomicInteger count = new AtomicInteger(0); 
uniqueID = count.incrementAndGet(); 

現在的問題是,這是產生唯一的ID以正確的方式?或者,還有其他更好的解決方案嗎?

+1

這隻適用於單進程環境。 – shmosel

+0

這將只在單個JVM運行中唯一。重新啓動程序時,再次從0開始。在不同的機器上不會是唯一的。 – Thilo

+0

相關:http://stackoverflow.com/questions/12911163/how-to-generate-incremental-identifier-in-java?rq=1 –

回答

0

如果應該只在一個進程中唯一,那麼可以使用AtomicInteger。

+0

會請求你添加一些更多的細節。 –