post04
关系运算符
关系运算符生成的是一个“布尔”(Boolean)结果。它们评价的是运算对象值之间的关系。若关系是真实 的,关系表达式会生成 true(真);若关系不真实,则生成false(假)。关系运算符包括小于(<)、大于 (>)、小于或等于(<=)、大于或等于(>=)、等于(==)以及不等于(!=)。等于和不等于适用于所有内 建的数据类型,但其他比较不适用于boolean 类型
对于 == 和 !=
1 2 3 4 5 6 7 8 9 10 11 12 13
| package com.isflee.c03_1_5_equivalence;
public class Equivalence { public static void main(String[] args) { Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.println(n1 == n2); System.out.println(n1 != n2); } }
|
- 对示例1进行引申, 对比两个对象的实际内容是否相等
使用equals方法, 要注意区分equals是哪个类的实现方法, 示例如下
代码1, EqualsMethod.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| package com.isflee.c03_1_5_equals_method;
public class EqualsMethod { public static void main(String[] args) { Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.println(n1.equals(n2)); } } ````
代码2, EqualsMethod2.java
```java package com.isflee.c03_1_5_equals_method2;
class Value { int i; } public class EqualsMethod2 { public static void main(String[] args) { Value v1 = new Value(); Value v2 = new Value(); v1.i = v2.i = 100; System.out.println(v1.equals(v2)); } }
|
大多数 Java 类库都实现了 equals(),所以它实际比较的是对象的内容,而非它们的句柄。《java编程思想》