当前位置:首页 » 编程语言 » java字符相等

java字符相等

发布时间: 2024-03-17 19:42:59

java, 如何判断字符串是否相等

判断字符串相等我们经常习惯性的写上if(str1==str2),这种写法在java中可能会带来问题。
java中判断字符串是否相等有两种方法:
1、用“==”运算符,该运算符表示指向字符串的引用是否相同,比如: String a="abc";String b="abc",
那么a==b将返回true。这是因为在java中字符串的值是不可改变的,相同的字符串在内存中只会存
一份,所以a和b指向的是同一个对象;再比如:String a=new String("abc"); String b=new String("abc");
那么a==b将返回false,因为a和b指向不同的对象。
2、用equals方法,该方法比较的是字符串的内容是否相同,比如:String a=new String("abc");
String b=new String("abc"); a.equals(b);将返回true。所以通常情况下,为了避免出现上述问题,判断
字符串是否相等使用equals方法。
出自:http://blog.csdn.net/chtnj/article/details/7909720

② Java中如何判断两个String是否相等

1. 在java中,不能用“==”和“!=”来判断两个字符串是否相等。因为String是引用类型,而不是基本数据类型。
故它们的比较是使用地址和值
来比较,因为它们是不同的对象,有不同的地址。故str1==str2永远是false,而str1!=str2永远都是true。

2. Java中必须使用string1.equals(string2)来进行判断
string s1="Hello";
string s2="Hello";
则(s1==s2)=true;
因为他们指向的同一个对象。
String s1=new String("Hello");
String s2=new String("Hello");
则(s1==s2)=false
如果把其他变量的值赋给s1和s2,即使内容相同,
由于不是指向同一个对象,也会返回false。
所以建议使用equals(),因为equals比较的才是真正的内容

3.案例
String string1=new String( "aaa" );
String string2=new String( "aaa" );
这两个字符串当然应该是相等的。
如果用表达式string1==string2,则该表达式的值为false
如果用表达式string1.equals(string2),则该表达式的值为true

③ java 字符串内容相同但内存地址不同怎么判相等

java String类的对象判断相等有两种方式:
== 判断两个对象的地址是否相等;
equals()方法判断两个对象散袭物的内容是否相等
实例:
String s1="hello";
String s2 = new String("hello");
System.out.println("s1和s2地禅冲址是冲液否相等的结果"+(s1==s2));结果为false;
System.out.println("s1和s2内容是否相等的结果"+(s1.equal(s2));结果为true;

你明白了吗?

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:603
制作脚本网站 发布:2025-10-20 08:17:34 浏览:895
python中的init方法 发布:2025-10-20 08:17:33 浏览:589
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:774
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:693
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1020
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:264
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:123
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:813
python股票数据获取 发布:2025-10-20 07:39:44 浏览:722