org.nutz.lang.random
类 R

java.lang.Object
  继承者 org.nutz.lang.random.R

public abstract class R
extends java.lang.Object

对随机数操作的封装

作者:
zozoh(zozohtnt@gmail.com)

构造方法摘要
R()
           
 
方法摘要
static java.util.UUID fromUU64(java.lang.String uu64)
          从一个 UU64 恢复回一个 UUID 对象
static int random(int min, int max)
          根据一个范围,生成一个随机的整数
static StringGenerator sg(int len)
          生成一个确定长度的随机字符串,字符串内容为 [0-9a-zA-Z_]
static StringGenerator sg(int min, int max)
          根据一个长度范围,生成一个随机的字符串,字符串内容为 [0-9a-zA-Z_]
static java.lang.String UU(java.lang.String uu16)
          将紧凑格式的 UU16 字符串变成标准 UUID 格式的字符串
static java.lang.String UU16()
           
static java.lang.String UU16(java.util.UUID uu)
           
static java.lang.String UU16FromUU64(java.lang.String uu64)
          将一个 UU64 表示的紧凑字符串,变成 UU16 表示的字符串 每次取2个字符,恢复成3个byte,重复10次, 最后一次,是用最后2个字符,恢复回2个byte
static java.lang.String UU64()
           
static java.lang.String UU64(java.util.UUID uu)
          返回一个 UUID ,并用 64 进制转换成紧凑形式的字符串,内容为 [\\-0-9a-zA-Z_] 比如一个类似下面的 UUID: a6c5c51c-689c-4525-9bcd-c14c1e107c80 一共 128 位,分做L64 和 R64,分为为两个 64位数(两个 long) > L = uu.getLeastSignificantBits(); > R = uu.getMostSignificantBits(); 而一个 64 进制数,是 6 位,因此我们取值的顺序是 1.
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

R

public R()
方法详细信息

random

public static int random(int min,
                         int max)
根据一个范围,生成一个随机的整数

参数:
min - 最小值(包括)
max - 最大值(包括)
返回:
随机数

sg

public static StringGenerator sg(int min,
                                 int max)
根据一个长度范围,生成一个随机的字符串,字符串内容为 [0-9a-zA-Z_]

参数:
min - 最小值(包括)
max - 最大值(包括)
返回:
随机字符串

sg

public static StringGenerator sg(int len)
生成一个确定长度的随机字符串,字符串内容为 [0-9a-zA-Z_]

参数:
len - 字符串长度
返回:
随机字符串

UU64

public static java.lang.String UU64()
返回:
64进制表示的紧凑格式的 UUID
另请参见:
UU64(UUID)

UU64

public static java.lang.String UU64(java.util.UUID uu)
返回一个 UUID ,并用 64 进制转换成紧凑形式的字符串,内容为 [\\-0-9a-zA-Z_]

比如一个类似下面的 UUID:

 a6c5c51c-689c-4525-9bcd-c14c1e107c80
 一共 128 位,分做L64 和 R64,分为为两个 64位数(两个 long)
    > L = uu.getLeastSignificantBits();
    > R = uu.getMostSignificantBits();
 而一个 64 进制数,是 6 位,因此我们取值的顺序是
 1. 从L64位取10次,每次取6位
 2. 从L64位取最后的4位 + R64位头2位拼上
 3. 从R64位取10次,每次取6位
 4. 剩下的两位最后取
 这样,就能用一个 22 长度的字符串表示一个 32 长度的UUID,压缩了 1/3
 

参数:
uu - UUID 对象
返回:
64进制表示的紧凑格式的 UUID

fromUU64

public static java.util.UUID fromUU64(java.lang.String uu64)
从一个 UU64 恢复回一个 UUID 对象

参数:
uu64 - 64进制表示的 UUID, 内容为 [\\-0-9a-zA-Z_]
返回:
UUID 对象

UU

public static java.lang.String UU(java.lang.String uu16)
将紧凑格式的 UU16 字符串变成标准 UUID 格式的字符串

参数:
uu16 -
返回:
标准 UUID 字符串

UU16FromUU64

public static java.lang.String UU16FromUU64(java.lang.String uu64)
将一个 UU64 表示的紧凑字符串,变成 UU16 表示的字符串
 每次取2个字符,恢复成3个byte,重复10次,
 最后一次,是用最后2个字符,恢复回2个byte 
 

参数:
uu64 - uu64 64进制表示的 UUID, 内容为 [\\-0-9a-zA-Z_]
返回:
16进制表示的紧凑格式的 UUID

UU16

public static java.lang.String UU16()
返回:
16进制表示的紧凑格式的 UUID

UU16

public static java.lang.String UU16(java.util.UUID uu)
参数:
uu - UUID 对象
返回:
16进制表示的紧凑格式的 UUID