在Java中生成UUID字符串的有效方法(UUID.randomUUID().toString()不带破折号)

2022-08-31 06:10:53

我想要一个有效的实用程序来生成唯一的字节序列。UUID是一个很好的候选者,但会生成类似哪个是好的东西,但我更喜欢无破折号字符串。UUID.randomUUID().toString()44e128a5-ac7a-4c9a-be4c-224b6bf81b20

我正在寻找一种有效的方法来生成随机字符串,仅从字母数字字符(没有破折号或任何其他特殊符号)生成。


答案 1

这样做是这样的:

public static void main(String[] args) {
    final String uuid = UUID.randomUUID().toString().replace("-", "");
    System.out.println("uuid = " + uuid);
}

答案 2

破折号不需要从HTTP请求中删除,如您在此线程的URL中看到的那样。但是,如果你想准备格式正确的URL而不依赖于数据,你应该使用URLEncoder.encode(字符串数据,字符串编码),而不是改变数据的标准形式。对于 UUID 字符串表示形式,短划线是正常的。