public class TestStringEquals {
/**
* 主函数
*/
public static void main(String[] args) {
testStringEquals();
}
/**
* 认识String类里的equals方法,jdk1.7。
* 一句话概括:判断两个字符串是否具有相同的字符序列。
* 参数:Object 比较对象
* 返回值:boolean
* true:两个字符串具有相同的字符序列。
* false:
* 1.参数对象不是String类的实例
* 2.参数对象与对象长度不等
* 3.两个字符串不具有相同的字符序列
*-----------------------------
* 多讨论一些。
* 我们判断某个对象是否与"123"具有相同的字符序列时
* 务必这样写:"123".equals(str);
* 务必不要这样写:str.equals("123");
* 常量在前避免空指针异常!!!
*/
public static void testStringEquals() {
// 两个字符串具有相同的字符序列
String str1 = "123";
String str2 = "123";
// 返回true
System.out.println(str1.equals(str2));
// 参数对象不是String类的实例
StringBuffer sb = new StringBuffer("123");
// 返回false
System.out.println(str1.equals(sb));
// 当然null也包含在不是String类的实例中
// 返回false
System.out.println(str1.equals(null));
// 参数对象与对象长度不等
String str3 = "1234";
// 返回false
System.out.println(str1.equals(str3));
// 两个字符串不具有相同的字符序列
String str4 = "321";
// 返回false
System.out.println(str1.equals(str4));
// 常量在前避免空指针异常!!!
String str5 = null;
// 返回false
System.out.println("123".equals(str5));
// 空指针异常
// System.out.println(str5.equals("123"));
}
}