Java 为什么不是';t如果语句工作正常
我正在获取当前的win7用户名,它是rsmith,但我的if语句如下所示: 万瑞士人 2222斯米特 为什么我的if==行不能按预期工作?用户名是rsmithJava 为什么不是';t如果语句工作正常,java,Java,我正在获取当前的win7用户名,它是rsmith,但我的if语句如下所示: 万瑞士人 2222斯米特 为什么我的if==行不能按预期工作?用户名是rsmith String userName = System.getProperty("user.name"); System.out.println("0000 " + userName + "\n"); if (userName == "rsmith"){ System.ou
String userName = System.getProperty("user.name");
System.out.println("0000 " + userName + "\n");
if (userName == "rsmith"){
System.out.println("1111 " + userName + "\n");
}
else {
System.out.println("2222 " + userName + "\n");
}
您不应该将字符串与
=
进行比较。您应该使用equals()
方法
if (userName.equals("rsmith"){
..
}
有关更详细的解释,请参阅。您不应将字符串与
=
进行比较。您应该使用equals()
方法
if (userName.equals("rsmith"){
..
}
有关更详细的解释,请参阅。您不应将字符串与
=
进行比较。您应该使用equals()
方法
if (userName.equals("rsmith"){
..
}
有关更详细的解释,请参阅。您不应将字符串与
=
进行比较。您应该使用equals()
方法
if (userName.equals("rsmith"){
..
}
有关更详细的说明,请参阅。运算符比较两个对象引用是否引用内存中的同一对象(引用相等),而不是它们是否相等。字符串类的
equals()
实现比较两个String
对象是否具有相同的字符(值相等)
因此,它将是:
if (userName.equals("rsmith") {
....
}
=
运算符比较两个对象引用是否引用内存中的同一对象(引用相等),而不是它们是否相等。字符串类的equals()
实现比较两个String
对象是否具有相同的字符(值相等)
因此,它将是:
if (userName.equals("rsmith") {
....
}
=
运算符比较两个对象引用是否引用内存中的同一对象(引用相等),而不是它们是否相等。字符串类的equals()
实现比较两个String
对象是否具有相同的字符(值相等)
因此,它将是:
if (userName.equals("rsmith") {
....
}
=
运算符比较两个对象引用是否引用内存中的同一对象(引用相等),而不是它们是否相等。字符串类的equals()
实现比较两个String
对象是否具有相同的字符(值相等)
因此,它将是:
if (userName.equals("rsmith") {
....
}
=
测试引用相等性
.equals()
测试值是否相等
因此,如果确实要测试两个字符串是否具有相同的值,则应使用.equals()
=
用于测试两个字符串是否为同一对象
String userName = System.getProperty("user.name");
System.out.println("0000 " + userName + "\n");
if (userName.equals("rsmith")){
System.out.println("1111 " + userName + "\n");
}
else {
System.out.println("2222 " + userName + "\n");
}
=
测试引用相等性
.equals()
测试值是否相等
因此,如果确实要测试两个字符串是否具有相同的值,则应使用.equals()
=
用于测试两个字符串是否为同一对象
String userName = System.getProperty("user.name");
System.out.println("0000 " + userName + "\n");
if (userName.equals("rsmith")){
System.out.println("1111 " + userName + "\n");
}
else {
System.out.println("2222 " + userName + "\n");
}
=
测试引用相等性
.equals()
测试值是否相等
因此,如果确实要测试两个字符串是否具有相同的值,则应使用.equals()
=
用于测试两个字符串是否为同一对象
String userName = System.getProperty("user.name");
System.out.println("0000 " + userName + "\n");
if (userName.equals("rsmith")){
System.out.println("1111 " + userName + "\n");
}
else {
System.out.println("2222 " + userName + "\n");
}
=
测试引用相等性
.equals()
测试值是否相等
因此,如果确实要测试两个字符串是否具有相同的值,则应使用.equals()
=
用于测试两个字符串是否为同一对象
String userName = System.getProperty("user.name");
System.out.println("0000 " + userName + "\n");
if (userName.equals("rsmith")){
System.out.println("1111 " + userName + "\n");
}
else {
System.out.println("2222 " + userName + "\n");
}
==
比较两个对象以检查它们是否引用内存中的相同位置
.equals()
比较对象的值
在您的情况下,需要使用.equals进行比较
比较两个对象以检查它们是否引用内存中的相同位置
.equals()
比较对象的值
在您的情况下,需要使用.equals进行比较
比较两个对象以检查它们是否引用内存中的相同位置
.equals()
比较对象的值
在您的情况下,需要使用.equals进行比较
比较两个对象以检查它们是否引用内存中的相同位置
.equals()
比较对象的值
在您的情况下,您需要使用.equals进行比较