大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java生成隨機字符串的方法

Java生成隨機字符串的方法

更新時間:2022-11-30 11:21:00 來源:動力節點 瀏覽4715次

Java生成隨機字符串的方法有哪些?動力節點小編來告訴大家。

1. 使用 Java 8+ 版本創建隨機字母 [az] 字符串,Java 8 引入Random.ints,——生成字母字符串

@Test
public void givenUsingJava8_whenGeneratingRandomAlphabeticString_thenCorrect() {
    int leftLimit = 97; // letter 'a'
    int rightLimit = 122; // letter 'z'
    int targetStringLength = 10;
    Random random = new Random();
    String generatedString = random.ints(leftLimit, rightLimit + 1)
      .limit(targetStringLength)
      .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
      .toString();
    System.out.println(generatedString);
}

2. 使用 Java 8+ 版本創建隨機字母數字 [0–9a-Z] 字符串,我們可以使用我們的字符集來獲取字母數字字符串。

@Test
public void givenUsingJava8_whenGeneratingRandomAlphanumericString_thenCorrect() {
    int leftLimit = 48; // numeral '0'
    int rightLimit = 122; // letter 'z'
    int targetStringLength = 10;
    Random random = new Random();
    String generatedString = random.ints(leftLimit, rightLimit + 1)
      .filter(i -> (i <= 57 || i >= 65) && (i <= 90 || i >= 97))
      .limit(targetStringLength)
      .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
      .toString();
    System.out.println(generatedString);
}

3. 使用純 Java 創建隨機無界字符串,讓我們使用無界字符串制作 7 個字母的隨機字符串,為此您需要使用 byte[]。new Random().nextBytes(array)會為你工作。

@Test
public void givenUsingPlainJava_whenGeneratingRandomStringUnbounded_thenCorrect() {
    byte[] array = new byte[7]; // length is bounded by 7
    new Random().nextBytes(array);
    String generatedString = new String(array, Charset.forName("UTF-8"));
    System.out.println(generatedString);
}

4. 使用純 Java 創建隨機有界字符串,讓我們創建一個更受約束的隨機字符串;我們將使用小寫字母 [az] 和設定長度生成一個隨機字符串,

@Test
public void givenUsingPlainJava_whenGeneratingRandomStringBounded_thenCorrect() { 
    int leftLimit = 97; // letter 'a'
    int rightLimit = 122; // letter 'z'
    int targetStringLength = 10;
    Random random = new Random();
    StringBuilder buffer = new StringBuilder(targetStringLength);
    for (int i = 0; i < targetStringLength; i++) {
        int randomLimitedInt = leftLimit + (int) 
          (random.nextFloat() * (rightLimit - leftLimit + 1));
        buffer.append((char) randomLimitedInt);
    }
    String generatedString = buffer.toString();
    System.out.println(generatedString);
}

5. 使用 Apache Commons Lang 創建有界隨機字符串,Apache 的 Commons Lang 庫對隨機字符串生成有很大幫助。讓我們看一下僅使用字母創建有界字符串。

@Test
public void givenUsingApache_whenGeneratingRandomStringBounded_thenCorrect() { 
    int length = 10;
    boolean useLetters = true;
    boolean useNumbers = false;
    String generatedString = RandomStringUtils.random(length, useLetters, useNumbers);
    System.out.println(generatedString);
}

6. 使用 Apache Commons Lang 創建字母字符串 [非常流行],另一個非常流行的例子——這次是一個只有字母字符的有界字符串,但沒有將布爾標志傳遞給 java 方法。

@Test
public void givenUsingApache_whenGeneratingRandomAlphabeticString_thenCorrect() {
    String generatedString = RandomStringUtils.randomAlphabetic(10);
    System.out.println(generatedString);
}

7. 使用 Apache Commons Lang 創建字母數字字符串相同的隨機有界字符串,但這次 — 包括數字。

@Test
public void givenUsingApache_whenGeneratingRandomAlphanumericString_thenCorrect() {
    String generatedString = RandomStringUtils.randomAlphanumeric(10);
    System.out.println(generatedString);
}

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 四虎最新网址 | 亚洲国产精品自产拍在线播放 | 久久国产精品2020盗摄 | 日韩在线第三页 | 情趣色视频网站 | 亚洲一级毛片免费在线观看 | h片网站在线观看 | 精品国产三级v | 一级一级一级毛片免费毛片 | 精品福利在线视频 | 国产精品资源网站在线观看 | 欧美日韩亚洲无线码在线观看 | 精品久久香蕉国产线看观看亚洲 | 亚洲欧美成人中文在线网站 | 国产成人亚洲毛片 | 亚洲黄色高清视频 | 九九色视频在线观看 | www.精东| 欧美性理论片在线观看片免费 | 国产又色又爽又黄又刺激18 | 91久久香蕉国产线看 | 国产成人一区二区三区在线视频 | 国产精品免费视频一区 | 日本精品久久久久久久 | 性丰满妇女free性性性 | 欧美在线综合 | 99精品欧美一区二区三区 | 国产精品素人福利 | 四虎永久在线精品免费影视 | 久久国产成人 | 草莓视频caomei888 | 国内精品久久久久久影院网站小说 | 特级中国aaa毛片 | 国产一区二区视频在线播放 | 国产一级久久久久久毛片 | 中文字幕精品亚洲无线码二区 | 日日干日日爽 | 国产亚洲一区二区三区啪 | 国产一区二区三区免费观看 | 亚洲精品在线看 | 亚洲精品久久一区二区无卡 |