java程序中测试两个变量是否相等有两种方式:
一种是利用 == 运算符,另一种是利用equal()方法。
(1)当利用 == 来判断两个变量是否相等时,如果两个变量是基本类型变量,且都是数值类型(不一定要求数据类型严格相同),则只要两个变量值相等,则将返回true。
(2)但对于两个引用类型变量,只有当他们指向同一个对象时, == 判断才会返回true, == 不可用于比较类型上没有父子关系的两个对象。
//示例代码:
public class EqualTest
{
public static void main(String[] args)
{
int it = 65;
float fl = 65.0f;
System.out.println("65和65.0f是否相等?"+(it==fl)); //将输出true
char ch = 'A';
System.out.println("65和'A'是否相等"+(it==ch));//将输出true
String str1=new String("hello");
String str2=new String("hello");
System.out.println("str1和str2是否相等"+(str1==str2));//将输tfalse,因为str1和str2都是引用类型变量,他们分别指向两个通过new关键字创建的对象,因此两个变量不相等
System.out.println("str和str2是否相等"+(str1.equals(str2)));//将输出true
}
}
String 已经重写了Object的equals()方法,判断两个字符串相等的标准是:只要两个字符串包含的字符序列相同,就返回true