广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >Java随机生成字符串的4种方式
  • 776
分享到

Java随机生成字符串的4种方式

java开发语言jvm 2023-09-08 19:09:54 776人浏览 泡泡鱼
摘要

java.util.UUID 类可用于生成UUID, 它的static randomUUID方法返回一个32个字符的字符串。 import java.util.UUID;public class RandomStringGenerator

java.util.UUID 类可用于生成UUID, 它的static randomUUID方法返回一个32个字符的字符串

import java.util.UUID;public class RandomStringGenerator {    public static void main(String[] args) {        String randomString = usingUUID();        System.out.println("Random string is: " + randomString);        System.out.println("Random string of 8 characters is: "            + randomString.substring(0, 8));    }    static String usingUUID() {        UUID randomUUID = UUID.randomUUID();        return randomUUID.toString().replaceAll("-", "");    }}

注意randomUUID方法生成的字符串包含“-”。上面的示例通过使用空字符串替换了。

以上程序输出为:

Random string is: 923ed6ec4d04452eaf258ec8a4391a0fRandom string of 8 characters is: 923ed6ec

使用Math类

下面的算法可以使用这种方法生成一个固定长度的随机字符串。

  • 初始化一个空字符串以保存结果。
  • 创建大小写字母和数字的组合,以创建一组超级字符。
  • 启动一个循环,该循环的count等于所需的随机字符串长度。
  • 在每次迭代中,生成一个介于0和超集长度之间的随机数。
  • 在步骤4中生成的数字索引处从步骤2中的字符串中提取字符,并将其添加到步骤1中的字符串中。
  • 循环完成后,步骤1中的字符串将是一个随机字符串。

示例代码:

import java.util.Math;public class RandomStringGenerator {    public static void main(String[] args) {        String randomString = usingMath(10);        System.out.println("Random string is: " + randomString);    }    static String usingMath(int length) {        String alphabetsInUpperCase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";        String alphabetsInLowerCase = "abcdefghijklmnopqrstuvwxyz";        String numbers = "0123456789";        // create a super set of all characters        String allCharacters = alphabetsInLowerCase + alphabetsInUpperCase + numbers;        // initialize a string to hold result        StringBuffer randomString = new StringBuffer();        // loop for 10 times        for (int i = 0; i < length; i++) {            // generate a random number between 0 and length of all characters            int randomIndex = (int)(Math.random() * allCharacters.length());            // retrieve character at index and add it to result            randomString.append(allCharacters.charAt(randomIndex));        }        return randomString.toString();    }}

以上程序输出为:

Random string is: kqNG2SYHeFRandom string is: lCppqqUg8PRandom string is: GGiFiEP5Dz

这种方法使您能够更好地控制需要包含在随机字符串中的字符。例如,如果您不想要数字,那么就从超集中删除它们。如果您想要特殊字符,那么就在超集中添加一组特殊字符。

使用Random类

此方法与Math方法类似,即创建所有字符的超集,生成一个随机索引,并使用该索引处的字符创建最终字符串。

这种方法使用java.util.Random 类生成随机索引。

示例代码:

import java.util.Random;public class RandomStringGenerator {    public static void main(String[] args) {        String randomString = usingRandom(10);        System.out.println("Random string is: " + randomString);    }    static String usingRandom(int length) {        String alphabetsInUpperCase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";        String alphabetsInLowerCase = "abcdefghijklmnopqrstuvwxyz";        String numbers = "0123456789";        // create a super set of all characters        String allCharacters = alphabetsInLowerCase + alphabetsInUpperCase + numbers;        // initialize a string to hold result        StringBuffer randomString = new StringBuffer();        // loop for 10 times        for (int i = 0; i < length; i++) {            // generate a random number between 0 and length of all characters             int randomIndex = random.nextInt(allCharacters.length());            // retrieve character at index and add it to result            randomString.append(allCharacters.charAt(randomIndex));        }        return randomString.toString();   }}

以上程序输出为:

Random string is: TycOBOxITsRandom string is: 7LLWVbg0psRandom string is: p6VyqdO6bT

您还可以使用java.util.SecureRandom类生成一个随机整数。它是java.util.Random的一个子类。

使用RandomStringUtils类

Apache Commons Lang库有一个org.apache.commons.lang.RandomStringUtils类,该类具有生成固定长度的随机字符串的方法。

它的方法可以生成只包含字母(随机字母)、数字(随机数字)或两者(随机字母数字)的随机字符串。

所有这些方法都接受一个整数参数,该参数表示它们将生成的字符串的长度。

示例代码:

import org.apache.commons.lang.RandomStringUtils;public class RandomStringGenerator {    public static void main(String[] args) {        // generate a random string of 10 alphabets        String randomString = RandomStringUtils.randomAlphabetic(10);        System.out.println("Random string of 10 alphabets: " + randomString);        randomString = RandomStringUtils.randomNumeric(10);        System.out.println("Random string of 10 numbers: " + randomString);        randomString = RandomStringUtils.randomAlphanumeric(10);        System.out.println("Random string of 10 alphanumeric characters: " + randomString);   }}

以上程序输出为:

Random string of 10 alphabets: OEfadIYfFmRandom string of 10 numbers: 1639479195Random string of 10 alphanumeric characters: wTQRMXrNY9

该类还有一个方法random,该方法接受一个整数(即要生成的字符串的长度)和一个char数组。生成的随机字符串仅由该数组中的字符组成。

通过根据构建工具添加以下依赖项,可以将Apache Commons Lang包含到您的项目中。

   org.apache.commons   commons-lang3   3.9

来源地址:https://blog.csdn.net/JavaBoy_XZL/article/details/129008018

--结束END--

本文标题: Java随机生成字符串的4种方式

本文链接: https://www.lsjlt.com/news/400475.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java随机生成字符串的4种方式
    java.util.UUID 类可用于生成UUID, 它的static randomUUID方法返回一个32个字符的字符串。 import java.util.UUID;public class RandomStringGenerator ...
    99+
    2023-09-08
    java 开发语言 jvm
  • java生成随机字符串的两种方法
    本文实例为大家分享了java生成随机字符串的具体代码,供大家参考,具体内容如下import java.util.Random;public class CharacterUtils {//方法1:length为产生的位数 public s...
    99+
    2023-05-31
    java 字符串 ava
  • java生成随机字符串的方法
      今天我们来学习下随机数的生成,随机数就是不确定的数,它可以是任意一个整数或者字符串。下面就让我们一起来学习下随机字符串的生成吧。 首先,我们需要先定义一个名为 str的数组,并将它作为输入文件。 1、使用 Java中的 str作为输入...
    99+
    2023-10-25
    java python pandas
  • python生成随机数、随机字符、随机字符串的方法示例
    本文是基于Windows 10系统环境,实现python生成随机数、随机字符、随机字符串: Windows 10 PyCharm 2018.3.5 for Windows ...
    99+
    2022-11-12
  • php生成随机字符串
    <phpfunction random_string( $length = 20 ) {    //字符集,可任意添加你需要的字符    $chars = 'ABCD'; &nb...
    99+
    2023-01-30
    字符串 php
  • python生成随机字符串
    import random,string def genRandomString(slen=10): return ''.join(random.sample(string.ascii_letters + string.d...
    99+
    2023-01-31
    字符串 python
  • Hutool 生成随机数和随机字符串
    目录 1.原生Java代码实现:2.Hutool工具实现: 官方文档: https://www.hutool.cn/docs/#/core/工具类/随机工具-RandomUtil 1.原生Java代码实现: priva...
    99+
    2023-08-16
    java 开发语言
  • java如何随机生成时间字符串
    小编给大家分享一下java如何随机生成时间字符串,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下package com.wechat.util...
    99+
    2023-05-30
    java 字符串
  • Java中生成随机数的4种方式与区别详解
    目录1.Random ① 基础使用② 优缺点分析③ 线程安全问题2.ThreadLocalRandom ① 基础使用 ② 实现原理 ③ 优缺点分析 ThreadLocalRandom...
    99+
    2022-11-12
  • 在 Python 中生成随机字符串
    介绍生成随机字符串的几种方法: 1. 使用random.choice()实现 import stringimport randomnumber_of_strings = 5length_of_stri...
    99+
    2023-09-06
    python
  • php如何生成随机字符串
    在php中使用str_shuffle()和substr()函数随机生成字符串,具体方法如下:首先,新建一个php项目文件;php项目文件新建好后,在文件中定义生成字符串的范围;$str = 'aodnymcueifghw';字符串...
    99+
    2022-10-03
  • python随机生成字符串学习
    所用到的函数学习string模块的三个函数>>> import string >>> string.letters 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefg...
    99+
    2023-01-31
    字符串 python
  • Java 生成随机数的 5 种方式
    1. 使用Math类的random()方法生成0到1之间的随机数:```javadouble randomNum = Math.ra...
    99+
    2023-09-20
    Java
  • java的三种随机数生成方式
    随机数的产生在一些代码中很常用,也是我们必须要掌握的。而java中产生随机数的方法主要有三种:第一种:new Random()第二种:Math.random()第三种:currentTimeMillis()第一种需要借助java.util....
    99+
    2015-06-20
    java教程 java
  • Linux Shell 生成随机数和随机字符串的方法示例
    日常生活中,会经常用到随机数,使用场景非常广泛,例如买彩票、丢骰子、抽签、年会抽奖等。 Shell 下如何生成随机数呢,米扑博客特意写了本文,总结 linux Shell 产生随机数的多种方法。 计算机产生的的只是“伪随...
    99+
    2022-06-04
    Linux Shell 生成随机数 Linux Shell 随机字符串
  • python生成随机字符串的方法是什么
    Python中生成随机字符串有多种方法,以下是其中几种常用的方法:1. 使用`random`模块的`choice`函数结合字符串生成...
    99+
    2023-08-18
    python
  • Java 生成随机字符串数组的实例详解
    Java 生成随机字符串数组的实例详解利用Collections.sort()方法对泛型为String的List 进行排序。具体要求:创建完List<String>之后,往其中添加十条随机字符串2.每条字符串的长度为10以内的随...
    99+
    2023-05-31
    java 随机 字符串
  • Pytorch常用的4种随机数生成方法
    Pytorch常用的4种随机数生成方法 一、torch.rand():构造均匀分布张量的方法二、torch.randn():构造标准正态分布张量的方法三、torch.randint():构造区...
    99+
    2023-09-21
    pytorch python 随机数
  • Python中怎么生成随机数与随机字符串
    这篇文章将为大家详细讲解有关Python中怎么生成随机数与随机字符串,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。random.random()用于生成用于生成一个指定范围内的随机符点数,两...
    99+
    2023-06-17
  • go语言生成随机数和随机字符串的实现方法
    目录生成随机数生成随机字符串生成随机数 随机数的生成是计算机科学的一个研究领域,同时也是一种艺术。这是因为计算机是纯粹的逻辑机器,所以使用计算机生成随机数异常困难! 你可以用...
    99+
    2022-06-07
    GO 方法 字符串 go语言 随机数 字符
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作