您的位置:首页 > 编程语言 > Java开发

Java String类中的equals方法

2016-01-05 17:07 871 查看

Java String类的方法equals

**equal比较的是两个对象所表示的字符是否相等, 而 == 比较的是两个对象是否相等.**
/*
* 分析:s1.equals(s)只是比较两个对象中的字符是否相等, 与对象类型无关
* public boolean equals(Object anObject)
* 将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。
*
*
* String s1 = " hello ";
* 这个只是一个引用,内存中如果有"hello "的话,s1就指向它,如果没有才创建
* 如果你以后还用到 "hello "这个字符串的话并且是这样用:
* String s1= " hello ";
* String s3 = " hello ";
* String s4 = " hello ";
* 这3个变量都共享一个字符串 " hello " ,hello是限定字符串,因此是s1==s3为true
* 而String s2 = new String( " hello ");
* 是根据 " hello "这个String对象再次构造一个String对象,将新构造出来的String对象的引用赋给s2
*/

class StringTest1
{
public static void main(String[] args)
{
String s1="hello";
String s2=new String("hello");
String s3 = "hello";
String s4 = new String("hello");

System.out.println(s1==s2);  //false 尽管s1、s2的内容相同,但是它们是不同的字符串对象
System.out.println(s1==s3);  //true 因为s1、s3指向相同的限定字符"hello"
System.out.println(s2==s4);
//false s4是根据 " hello "这个String对象再次构造一个String对象,将新构造出来的String对象的引用赋给s4,和s2不相同
if(s1.equals(s2)){
//将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true.
System.out.println("相等");
}
else{
System.out.println("不相等");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: