Répondre à la question "Comment puis-je avoir une application unique de Integer" :
S'il doit être unique même après les redémarrages ou si votre application est en grappe, vous pouvez utiliser une séquence de base de données.
S'il doit simplement être unique pendant l'exécution, utilisez un fichier statique AtomicInteger .
EDIT (exemple ajouté) :
public class Sequence {
private static final AtomicInteger counter = new AtomicInteger();
public static int nextValue() {
return counter.getAndIncrement();
}
}
Utilisation :
int nextValue = Sequence.nextValue();
Ceci est thread safe (les différents threads recevront toujours des valeurs distinctes, et aucune valeur ne sera "perdue").
1 votes
Non, ça ne l'est pas - par définition. De plus, s'il était unique, pourquoi alors aurait-on besoin d'UUIDs ?
0 votes
Définir unique. Globalement, ou seulement dans votre application, ou dans un bout de code ?
0 votes
Je voulais utiliser la classe UUID, mais il s'avère que je ne peux pas la réduire.
4 votes
Ce serait plus simple si vous posiez la vraie question : comment puis-je avoir un entier unique pour une application ? Puis-je convertir un UUID en entier ? Nous pourrions alors répondre à votre problème et non pas simplement vous dire que vous ne pouvez pas utiliser l'UUID dans ce but...