Java 如何避免使用Johann';s
我正在使用johann guid生成字母数字ID。我在UUID类(Johann的UUID)中使用getTime方法生成数字IDJava 如何避免使用Johann';s,java,guid,uniqueidentifier,Java,Guid,Uniqueidentifier,我正在使用johann guid生成字母数字ID。我在UUID类(Johann的UUID)中使用getTime方法生成数字ID 但有时它会为数字Id生成负isd(例如-2323)。如何避免生成负唯一id。?请帮助我数学对象有一个绝对值函数,它将处理您关心的负值。但是,您可能会失去独特性。如果你的数字是负数,什么时候重要?下面是一个示例测试: public class Test{ public static void main(String args[]){ Integer a = -8;
但有时它会为数字Id生成负isd(例如-2323)。如何避免生成负唯一id。?请帮助我数学对象有一个绝对值函数,它将处理您关心的负值。但是,您可能会失去独特性。如果你的数字是负数,什么时候重要?下面是一个示例测试:
public class Test{
public static void main(String args[]){
Integer a = -8;
double d = -100;
float f = -90;
System.out.println(Math.abs(a));
System.out.println(Math.abs(d));
System.out.println(Math.abs(f));
}
}
这将产生以下结果:
8
100.0
90.0
如果UUID是字母数字的,为什么要关心它们是否为负数?如果有随机输入的字母,我想你不会将它们用作数字……请小心,因为
Math.abs()
在某些情况下可能会输出负值。一个例子是当输入负2^31(Integer.MIN_VALUE
)作为int
时。(正2^31超出了int
范围,因此输出为负值。)但是abs(guid)保证返回唯一的数字吗?感谢Smallhacker,我不知道。Jay Elston,Math.abs不是唯一标识符,而是获取传入的数字的绝对值。