昨天编程序遇到一个随机生成的uid,怎么都不知道怎么生成的,最后用了HttpAnalyzerstdv7查了一下,原来是在js中生成的,为了模拟js,笔者将其内部函数看了一下,发现有代码中有一double型变量,将其转换成为了16进制,当时那个纠结啊,浪费了那么多时间也没想明白那些a,b,c,d和数字怎么出来的。还是问了一下老师,老实说可能是16进制。笔者最后做了实验,发现真的是这样。不多说,将源代码发出来,供大家参考学习。
public String SetNewGuid() {
String guid = "";
for (int i = 1; i <= 32; i++) {
int n =(int)Math.floor(Math.random() * 16.0);
String uid=Integer.toHexString(n) ;
System.out.println(uid);
guid += uid;
if ((i == 8) || (i == 12) || (i == 16) || (i == 20))
guid += "-";
}
return guid;
}
很简单的一个操作,现在看起来都感觉可笑,可如果你不想明白,真的不清楚怎么回事。所以说,聪明的大脑远胜于无谓的刻苦,多想多思考才是未来发展的主题!