Java基本类型比较:整型和字符型用==安全高效;浮点型慎用==,优先Float.compare/Double.compare;布尔型只能用==。

Java 中基本数据类型直接用 == 运算符比较数值大小,这是最准确、最高效的方式。
整型和字符型:用 == 安全又直观
byte、short、int、long、char 都是整数语义,值直接存于栈中,== 比较的就是它们的真实数值。
- int a = 100, b = 100; System.out.println(a == b); // true
- char c1 = 'A', c2 = 65; System.out.println(c1 == c2); // true('A' 的 Unicode 值就是 65)
- 注意:不要用 equals(),因为基本类型没有方法——a.equals(b) 编译不通过
浮点型:慎用 ==,优先用 compare 方法
float 和 double 因二进制精度限制,直接 == 容易出错(如 0.1 + 0.2 != 0.3)。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 推荐:Float.compare(f1, f2) 返回 0 表示相等,负数表示 f1 小,正数表示 f1 大
- 同理:Double.compare(d1, d2)
- 若需精确等值判断(如金融计算),应改用 BigDecimal,避免浮点误差
布尔型:只能用 ==
boolean 只有两个取值(true/false),没有数值意义,也不支持算术运算。
立即学习“Java免费学习笔记(深入)”;
- boolean flag1 = true, flag2 = false; System.out.println(flag1 == flag2); // false
- 不能用 >、
比较时的常见误区
- 混淆基本类型和包装类:Integer a = 100, b = 100; 用 == 可能为 true(因缓存机制),但 Integer c = 200, d = 200; == 可能为 false —— 应统一用 .equals() 或先拆箱再 ==
- 把 long 字面量写成 123456789012345(没加 L),编译报错:超出 int 范围
- 对 float/double 做 == 判断后发现逻辑异常,却没意识到是精度问题

















