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");