字符串比较
String类提供了equals( )方法,比较存储在两个字符串对象的内容是否一致。public class Login { public static void main(String[] args) { Scanner input = new Scanner(System.in); String uname,pwd; System.out.print("请输入用户名: "); uname=input.next(); System.out.print("请输入密码: "); pwd=input.next(); if( uname.equals(“TOM”) && pwd.equals(“1234567”) ){ System.out.print("登录成功! "); }else{ System.out.print(“用户名或密码不匹配,登录失败!”); } } }equals()方法比较原理:equals():检查组成字符串内容的字符是否完全一致==:判断两个字符串在内存中的地址,即判断是否是同一个字符串对象。例如以下代码:public class StringDemo { public static void main(String args[]) { String str1 = “Hello”; String str2 = new String(“Hello”); String str3 = str2; // 引用传递 System.out.println(str1 == str2); // false System.out.println(str1 == str3); // false System.out.println(str2 == str3); // true System.out.println(str1.equals(str2)); // true System.out.println(str1.equals(str3)); // true System.out.println(str2.equals(str3)); // true }}上方第4行代码中,new了一个对象,用“”比较str1和str2,返回的结果却是false;而用用“equals”比较str1和str2,返回的结果是true。 为了分析上面的代码,必须首先分析堆内存空间和栈内存空间,这一点非常重要:“”和equals()的区别?==:比较的是两个字符串内存地址(堆内存)是否相等;equals():比较的是两个字符串的内容是否相等。
04-08
764
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-14
07-14
07-13
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交