Objects類和Random類的使用
Objects類
1.Objects類是一個工具類,objects類提供了一系列操作一個物件Object的實用方法,在Objects類中,所有的方法都是static修飾的,即靜態的方法,可直接通過類名.方法名 進行呼叫,
package com.softeem.lesson17;
import java.util.Objects;
public class ObectsDemo {
public static void main(String[] args) {
User u1 = new User(1, "softeem", "123456");
User u2 = null;
//
// if(u2 != null){
// System.out.println(u2.equals(u1));
// }
// 空指標安全的物件比較
System.out.println(Objects.equals(u2, u1));
// 空指標安全的toString
System.out.println(Objects.toString(u2));
System.out.println(Objects.toString(u2, "0"));
// 空指標安全的hashCode
System.out.println(Objects.hashCode(u2));
// 為空判斷
System.out.println(Objects.isNull(u2));
// 不為空判斷
System.out.println(Objects.nonNull(u2));
// 檢查物件不為空,若為空則拋出NullPointerException
System.out.println(Objects.requireNonNull(u2));
}
}
2.Objects相比超類Object多了一個字母s,這也是Java類命名的一個風格,Objects是一個工具類,Java喜歡在工具類后面加上字母s,如Arrays、Collections等,
Random類
1.Math類中提供了一個random()的方法,用于隨機一個從0.0~1.0之間的浮點數,當實際需求有個性化的要求時,只能通過計算獲取其他型別的亂數,實際操作相對比較麻煩;因此,Java中還提供了另一個專門用于生成各種需求的亂數型別,比如,隨機整數,隨機浮點數,隨機布林值,
package com.softeem.lesson17;
import java.util.Random;
public class RandomDemo {
public void m() {
for (int i = 0; i < 4; i++) {
Random r = new Random();
char c = (char) (r.nextInt(75) + 48);
if ((c > 57 && c < 65) || (c > 90 && c < 97)) {
i--;
} else {
System.out.println(c);
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Random r = new Random();
// 隨機布林值
boolean f = r.nextBoolean();
System.out.println(f);
// 隨機生成0.0-1之間的浮點數
double d = r.nextDouble();
System.out.println(d);
// int i = r.nextInt(5);
// System.out.println(i);
int i = (r.nextInt(51) + 50);
System.out.println(i);
//驗證碼生成器(隨機生成(0-9a-zA-Z)中一個4位數的驗證碼)
RandomDemo rd = new RandomDemo();
rd.m();
}
}
2.Random類中實作的隨機演算法是偽隨機,也就是有規則的隨機,在進行隨機時,隨機演算法的起源數字稱為種子數(seed),在種子數的基礎上進行一定的變換,從而產生需要的亂數字,相同種子數的Random物件,相同次數生成的亂數字是完全相同的,也就是說,兩個種子數相同的Random物件,第一次生成的亂數字完全相同,第二次生成的亂數字也完全相同,這點在生成多個亂數字時需要特別注意,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/226631.html
標籤:其他
