Z
ZHANK
编程在线教程Java 教程JavaBean 与工具类
核心类库

JavaBean 与工具类

学习 JavaBean 规范、Math、Random、BigDecimal、Objects 工具

JavaBean 与工具类

JavaBean 是一种编程规范,常用工具类让日常开发更高效。

学完本章你将: 掌握 JavaBean、Math、BigDecimal、Objects。


JavaBean 规范

java
// JavaBean = 无参构造 + getter/setter + 可序列化
public class Person implements java.io.Serializable {
    private String name;
    private int age;

    public Person() {} // 无参构造

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public int getAge() { return age; }
    public void setAge(int age) { this.age = age; }
}

BigDecimal —— 精确计算

java
// ❌ double 有浮点误差
System.out.println(0.1 + 0.2); // 0.30000000000000004

// ✅ BigDecimal 精确
BigDecimal a = new BigDecimal("0.1");
BigDecimal b = new BigDecimal("0.2");
System.out.println(a.add(b)); // 0.3

// 常用操作
BigDecimal price = new BigDecimal("19.99");
BigDecimal tax = new BigDecimal("0.08");
BigDecimal total = price.multiply(tax).add(price);
System.out.println(total.setScale(2, RoundingMode.HALF_UP)); // 21.59

Math 与 Random

java
// Math 常用方法
Math.abs(-5);           // 5
Math.max(3, 7);         // 7
Math.pow(2, 10);        // 1024.0
Math.sqrt(16);          // 4.0
Math.round(3.6);        // 4
Math.random();          // 0.0 ~ 1.0

// Random 类
Random rand = new Random();
rand.nextInt(100);      // 0~99
rand.nextDouble();      // 0.0~1.0
rand.nextBoolean();     // true/false

// SecureRandom — 安全随机(密码学)
SecureRandom secure = new SecureRandom();

Objects 工具类

java
// null 安全比较
Objects.equals(a, b);        // null 安全
Objects.hash(name, age);     // 计算 hash

// 非空检查
Objects.requireNonNull(obj, "obj 不能为空");

// 默认值
String name = Objects.requireNonNullElse(input, "Unknown");