📜  Java中的 Double.equals() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:31:52.141000             🧑  作者: Mango

Java中的 Double.equals() 方法及示例

在Java中,Double类提供了equals()方法用于比较两个Double对象是否相等。此方法继承自Object类,因此默认实现比较的是两个对象的引用是否相等。但是对于Double类型的值,我们需要比较它们的数值是否相等,而不是地址是否相等。

Double.equals() 方法的语法
public boolean equals(Object obj)

参数obj表示要比较的对象,如果obj不是Double类型或其子类的实例,则返回false。如果obj是Double类型的实例,则比较其内部数值是否相等。

该方法返回一个布尔值,如果两个Double对象的数值相等,则返回true,否则返回false。

Double.equals() 方法的示例
Double a = 1.0;
Double b = 1.0;
Double c = new Double(1.0);

System.out.println(a.equals(b)); // 输出true
System.out.println(a.equals(c)); // 输出true
System.out.println(b.equals(c)); // 输出true

Double d = Double.NaN;
Double e = Double.NaN;
Double f = new Double(0.0 / 0.0);

System.out.println(d.equals(e)); // 输出false
System.out.println(d.equals(f)); // 输出false
System.out.println(e.equals(f)); // 输出false

在示例中,a、b、c分别是三个Double对象,它们的值都是1.0。使用equals()方法比较它们时,会返回true,因为它们的数值相等。

另外,Double类型还支持表示 Not-a-Number (NaN)的特殊值,它与任何值(包括自己)比较结果都是false。在示例中,d、e、f分别是三个Double对象,它们的值都是NaN。使用equals()方法比较它们时,会返回false。