最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java隨機(jī)生成字符串(字符隨機(jī)生成類 生成隨機(jī)字符組合)

 更新時(shí)間:2013年12月30日 10:22:40   作者:  
java隨機(jī)生成字符串,字符組合多樣,可以大小字組合、大+小字符+數(shù)字等方式,大家參考使用吧

復(fù)制代碼 代碼如下:

package com.phyl.password;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
/**
 * 字符隨機(jī)生成類
 * @author ASUS
 *
 */
public class PassWord {

 /**
  * 密碼類型枚舉
  * @author ASUS
  */
 public static enum TYPE {
  /**
   * 字符型
   */
  LETTER,
  /**
   * 大寫字符型
   */
  CAPITAL,
  /**
   * 數(shù)字型
   */
  NUMBER,
  /**
   * 符號(hào)型
   */
  SIGN,
  /**
   * 大+小字符 型
   */
  LETTER_CAPITAL,
  /**
   * 小字符+數(shù)字 型
   */
  LETTER_NUMBER,
  /**
   * 大+小字符+數(shù)字 型
   */
  LETTER_CAPITAL_NUMBER,
  /**
   * 大+小字符+數(shù)字+符號(hào) 型
   */
  LETTER_CAPITAL_NUMBER_SIGN
 }

 private static String[] lowercase = {
   "a","b","c","d","e","f","g","h","i","j","k",
   "l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};

 private static String[] capital = {
   "A","B","C","D","E","F","G","H","I","J","K",
   "L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}; 

 private static String[] number = {
   "1","2","3","4","5","6","7","8","9","0"};

 private static String[] sign = {
   "~","!","@","#","$","%","^","&","*","(",")","_","+","`","-","=",
   "{","}","|",":","\"","<",">","?",
   "[","]","\\",";","'",",",".","/"};

 /**
  * 靜態(tài)隨機(jī)數(shù)
  */
 private static Random random = new Random();

 public static void main(String[] args) {
  System.out.println(PassWord.getRandom(24, PassWord.TYPE.CAPITAL));
 }

 /**
  * 獲取隨機(jī)組合碼
  * @param num 位數(shù)
  * @param type 類型
  * @type
  * <br>字符型 LETTER,
  * <br>大寫字符型 CAPITAL,
  * <br>數(shù)字型 NUMBER,
  * <br>符號(hào)型 SIGN,
  * <br>大+小字符型 LETTER_CAPITAL,
  * <br>小字符+數(shù)字 型 LETTER_NUMBER,
  * <br>大+小字符+數(shù)字 型 LETTER_CAPITAL_NUMBER,
  * <br>大+小字符+數(shù)字+符號(hào) 型 LETTER_CAPITAL_NUMBER_SIGN
  */
 public static String getRandom(int num,TYPE type){
  ArrayList<String> temp = new ArrayList<String>();
  StringBuffer code = new StringBuffer();
  if(type == TYPE.LETTER){
   temp.addAll(Arrays.asList(lowercase));
  }else if(type == TYPE.CAPITAL){
   temp.addAll(Arrays.asList(capital));
  }else if(type == TYPE.NUMBER){
   temp.addAll(Arrays.asList(number));
  }else if(type == TYPE.SIGN){
   temp.addAll(Arrays.asList(sign));
  }else if(type == TYPE.LETTER_CAPITAL){
   temp.addAll(Arrays.asList(lowercase));
   temp.addAll(Arrays.asList(capital));
  }else if(type == TYPE.LETTER_NUMBER){
   temp.addAll(Arrays.asList(lowercase));
   temp.addAll(Arrays.asList(number));
  }else if(type == TYPE.LETTER_CAPITAL_NUMBER){
   temp.addAll(Arrays.asList(lowercase));
   temp.addAll(Arrays.asList(capital));
   temp.addAll(Arrays.asList(number));
  }else if(type == TYPE.LETTER_CAPITAL_NUMBER_SIGN){
   temp.addAll(Arrays.asList(lowercase));
   temp.addAll(Arrays.asList(capital));
   temp.addAll(Arrays.asList(number));
   temp.addAll(Arrays.asList(sign));
  }
  for (int i = 0; i < num; i++) {
   code.append(temp.get(random.nextInt(temp.size())));
  }
  return code.toString();
 }

}

相關(guān)文章

  • Spring實(shí)戰(zhàn)之ResourceLoader接口資源加載用法示例

    Spring實(shí)戰(zhàn)之ResourceLoader接口資源加載用法示例

    這篇文章主要介紹了Spring實(shí)戰(zhàn)之ResourceLoader接口資源加載用法,結(jié)合實(shí)例形式分析了Spring使用ResourceLoader接口加載資源的相關(guān)配置與使用技巧,需要的朋友可以參考下
    2020-01-01
  • java關(guān)鍵字final使用方法詳解

    java關(guān)鍵字final使用方法詳解

    在程序設(shè)計(jì)中,我們有時(shí)可能希望某些數(shù)據(jù)是不能夠改變的,這個(gè)時(shí)候final就有用武之地了。final是java的關(guān)鍵字,本文就詳細(xì)說(shuō)明一下他的使用方法
    2013-11-11
  • Java注解詳解及實(shí)現(xiàn)自定義注解的方法

    Java注解詳解及實(shí)現(xiàn)自定義注解的方法

    這篇文章主要介紹了Java注解詳解及實(shí)現(xiàn)自定義注解的方法,本文給大家介紹了jdk中預(yù)定義的一些注解及自定義注解的相關(guān)知識(shí),需要的朋友可以參考下
    2022-06-06
  • java冒泡排序和選擇排序詳解

    java冒泡排序和選擇排序詳解

    這篇文章主要介紹了java數(shù)組算法例題代碼詳解(冒泡排序,選擇排序),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07
  • SpringBoot3各種配置的優(yōu)先級(jí)對(duì)比小結(jié)

    SpringBoot3各種配置的優(yōu)先級(jí)對(duì)比小結(jié)

    SpringBoot3提供了多種配置來(lái)源以滿足不同場(chǎng)景下的需求,本文詳細(xì)介紹了SpringBoot3中的配置優(yōu)先級(jí)對(duì)比小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • 帶你盤點(diǎn)Java的五種運(yùn)算符

    帶你盤點(diǎn)Java的五種運(yùn)算符

    這篇文章主要介紹了Java基本數(shù)據(jù)類型和運(yùn)算符,結(jié)合實(shí)例形式詳細(xì)分析了java基本數(shù)據(jù)類型、數(shù)據(jù)類型轉(zhuǎn)換、算術(shù)運(yùn)算符、邏輯運(yùn)算符等相關(guān)原理與操作技巧,需要的朋友可以參考下
    2021-07-07
  • Java死鎖代碼實(shí)例及產(chǎn)生死鎖必備的四個(gè)條件

    Java死鎖代碼實(shí)例及產(chǎn)生死鎖必備的四個(gè)條件

    這篇文章主要介紹了Java死鎖代碼實(shí)例及產(chǎn)生死鎖必備的四個(gè)條件,Java 發(fā)生死鎖的根本原因是,在申請(qǐng)鎖時(shí)發(fā)生了交叉閉環(huán)申請(qǐng),synchronized在開(kāi)發(fā)中最好不要嵌套使用,容易導(dǎo)致死鎖,需要的朋友可以參考下
    2024-01-01
  • 簡(jiǎn)單了解Java垃圾回收器的種類

    簡(jiǎn)單了解Java垃圾回收器的種類

    這篇文章主要介紹了簡(jiǎn)單了解Java垃圾回收器的種類,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • SpringBoot使用Redis對(duì)用戶IP進(jìn)行接口限流的示例詳解

    SpringBoot使用Redis對(duì)用戶IP進(jìn)行接口限流的示例詳解

    使用接口限流的主要目的在于提高系統(tǒng)的穩(wěn)定性,防止接口被惡意打擊,這篇文章主要介紹了SpringBoot使用Redis對(duì)用戶IP進(jìn)行接口限流的示例代碼,需要的朋友可以參考下
    2023-07-07
  • 一文帶你搞懂Java中i++ 和 ++i的區(qū)別

    一文帶你搞懂Java中i++ 和 ++i的區(qū)別

    在Java中,i++和++i都用于遞增變量i的值,但它們之間有一個(gè)細(xì)微的區(qū)別,i++是后綴遞增操作符,++i是前綴遞增操作符,在大多數(shù)情況下,這兩種遞增操作的結(jié)果都是一樣的,但在某些特定的表達(dá)式和邏輯中,它們可能會(huì)產(chǎn)生不同的效果,本文將帶大家搞清Java中i++ 和 ++i的區(qū)別
    2023-09-09

最新評(píng)論

讷河市| 凤阳县| 托克托县| 上犹县| 嫩江县| 中超| 大竹县| 新河县| 博爱县| 岳阳县| 改则县| 海阳市| 湛江市| 金沙县| 旺苍县| 天台县| 闽清县| 墨脱县| 泰和县| 白沙| 长治县| 普洱| 常德市| 额济纳旗| 莎车县| 盐津县| 大埔县| 冷水江市| 沈阳市| 临西县| 项城市| 巴马| 延安市| 黄梅县| 营山县| 彰化县| 黄梅县| 台中市| 蕲春县| 基隆市| 保德县|