string类型和Bigdecimal 用==比较
时间: 2023-09-26 20:06:45 浏览: 80
在Java中,使用“==”比较两个对象时,比较的是它们在内存中的引用地址是否相同,而不是比较它们的值是否相等。
因此,当比较两个String类型或BigDecimal类型的对象时,应该使用equals()方法来比较它们的值是否相等,而不是使用“==”运算符。
示例代码:
```java
String str1 = "hello";
String str2 = "hello";
if (str1 == str2) {
System.out.println("str1 == str2");//输出
} else {
System.out.println("str1 != str2");
}
BigDecimal bigDecimal1 = new BigDecimal("1.0");
BigDecimal bigDecimal2 = new BigDecimal("1.0");
if (bigDecimal1 == bigDecimal2) {
System.out.println("bigDecimal1 == bigDecimal2");//输出
} else {
System.out.println("bigDecimal1 != bigDecimal2");
}
if (bigDecimal1.equals(bigDecimal2)) {
System.out.println("bigDecimal1 equals bigDecimal2");//输出
} else {
System.out.println("bigDecimal1 not equals bigDecimal2");
}
```
在上面的代码中,使用“==”比较字符串和BigDecimal对象时,输出结果都是“==”,而使用equals()方法比较时,输出结果都是“equals”。
阅读全文