欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Objects类和Random类的使用

程序员文章站 2022-06-17 19:02:46
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) {...

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://blog.csdn.net/qikang_/article/details/109960502

相关标签: java