java中ThreadLocalRandom類和Random類的使用


package frank;
import java.lang.*;
import java.util.*;//工具類一般都在util里面
import java.util.concurrent.ThreadLocalRandom;
/**
 * ThreadLocalRandom Random類
 * */
public class App
{
    public static void main(String[] args)throws Exception
    {
        Random ran = new Random();
        System.out.println(ran.nextInt());//生成一個int類型取值范圍的隨機數
        System.out.println(ran.nextInt(100));//生成一個0-100的int類型的隨機數
        System.out.println(ran.nextFloat());//生成一個Float類型的隨機數
        System.out.println(ran.nextDouble());//生成一個Double類型的隨機數
        /*
         * 結果1:
         * -405998184
         * 81
         * 0.7216265
         * 0.8820657901017879
         * */
        Random r2 = new Random(50);//種子為50的對象
        Random r3 = new Random(50);//種子為50的對象
        System.out.println("r2.nextInt():"+r2.nextInt()+"-------r3.nextInt():"+r3.nextInt());//如果兩個Random對象種子數相同,那么他們生成的結果將是一樣。可以使用當前時間最為種子:System.currentTimeMillis()
        System.out.println("---------------多線程環境下使用ThreadLocalRandom類,用法跟Random類基本類似---------------------");
        ThreadLocalRandom tlr = ThreadLocalRandom.current();
        System.out.println(tlr.nextInt(10,50));//生成一個10~50之間的隨機數
    }
} 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM