如何确定java是否等于字符串:
1、java中字符串的比较:==
我们经常习惯写if(str1==str2),但这种写法可能会在java中引起问题
example1:String a='abc ';
String b='abc '
那么,a==b返回true。 因为java不能更改字符串的值,所以相同的字符串只能保存在内存中
因为是一份,所以a和b指向同一个对象;
example2:stringa=newstring(ABC );
stringb=新字符串(ABC );
那么a==b返回false。 在这种情况下,a和b指向不同的对象。
2、用equals法比较字符串的内容是否相同
example:stringa=newstring(ABC );
stringb=新字符串(ABC );
a.equals(b );
)1)对于==,作用于基本数据类型的变量(字节、短整型、字符、整型、长整型、浮点型、双精度、布尔型) )时,其存储的“值”是否相等对于影响引用类型的变量(字符串),比较的是指向的对象的地址(即是否指向同一对象)。
)2) equals方法是基类Object中的方法,因此Object继承的所有类都有此方法。 Object类使用equals方法比较对两个对象的引用是否相等,即它们是否指向同一个对象。
)3)注意equals方法: equals方法不适用于基本数据类型的变量。 如果未重写equals方法,则比较引用类型变量指向的对象的地址String类将重写equals方法,以比较存储在指定字符串对象中的字符串是否相等。 其他类(例如Double、Date、Integer等)重写equals方法,以比较包含指向的对象的内容是否相等。
更多的java知识请关注java基础教程栏。