当使用==来判断两个变量是否相等是,如果2个变量是基本类型的变量,且都是数值型(不一定要求数据类型严格相同),则只要两个变量的值相等,使用==判断将返回true。
对于两个引用类型的变量,必须它们指向同一个对象是,==才会判断true。但很多时候,程序需要判断两个引用变量是否相等,也就是“值相等”,并不严格要求两个引用变量指向同一个对象,此时就可以利用String对象的equals方法来进行判断。例如
String str1 = new String("hello");
String str2 = new String("hello");
//将输出false
System.out.println(str1==str2);
//将输出true
System.out.println(str1.equals(str2));
以上所说的equals方法是Object提供的,很多时候我们需要重写自己的equals方法
对于两个引用类型的变量,必须它们指向同一个对象是,==才会判断true。但很多时候,程序需要判断两个引用变量是否相等,也就是“值相等”,并不严格要求两个引用变量指向同一个对象,此时就可以利用String对象的equals方法来进行判断。例如
String str1 = new String("hello");
String str2 = new String("hello");
//将输出false
System.out.println(str1==str2);
//将输出true
System.out.println(str1.equals(str2));
以上所说的equals方法是Object提供的,很多时候我们需要重写自己的equals方法