在 Java 中,Double 是基本类型 double 的包装类(Wrapper Class),属于 java.lang 包,不用导包就能用。
下面从基本用法 → 常用方法 → 注意事项给你讲清楚。
double a = 3.14;
double b = 2.0;
double c = a + b;
Double x = 3.14;
Double y = 2.0;
✅ Java 5+ 支持自动装箱 / 拆箱
Double d = 1.5; // 自动装箱
double e = d; // 自动拆箱
Double d1 = Double.parseDouble("3.14"); // 常用
Double d2 = Double.valueOf("2.5");
Double d = 3.14;
String s = d.toString();
| 方法 | 说明 |
|---|---|
Double.parseDouble(String) |
字符串转 double |
Double.valueOf(String) |
字符串转 Double |
doubleValue() |
Double → double |
isNaN() |
判断是否非数字 |
isInfinite() |
判断是否无穷大 |
compareTo(Double) |
比较两个 Double |
Double a = 3.14;
Double b = 2.71;
System.out.println(a.compareTo(b)); // 1
System.out.println(a.isNaN()); // false
Double.NaN; // 非数字
Double.POSITIVE_INFINITY; // 正无穷
Double.NEGATIVE_INFINITY; // 负无穷
示例:
double x = 0.0 / 0.0; // NaN
double y = 1.0 / 0.0; // Infinity
if (a == b) // 不推荐(精度问题)
if (Math.abs(a - b) < 1e-9) {
// 认为相等
}
或使用 BigDecimal(金融计算强烈推荐):
BigDecimal a = new BigDecimal("0.1");
BigDecimal b = new BigDecimal("0.2");
BigDecimal)
Double是 double 的对象形式,用于需要对象、集合、特殊值的场景;普通计算直接用double更高效。
如果你愿意,我也可以:
你现在是用在哪种场景?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。