Java中的等字符串不相等(==)?

时间:2011-05-30 16:20:56

标签: java

  

可能重复:
  Strings in Java : equals vs ==

大家好,为什么这个Java代码无法正常工作(if语句总是被读为False,任何输入都会输出4,包括Anish&“Anish”)?

import java.util.Scanner;  
public class lkjlj {  
    public static void main(String args []) {  
        Scanner Pillai = new Scanner(System.in);  
        System.out.println("Enter Your name");  
        String nabeel = Pillai.nextLine();  
        System.out.println(nabeel);  
        if (nabeel == "Anish") {  
            System.out.println("Your Age is 6");  
        } else {
            System.out.println("Your age is 4");  
        }
    }  
}

3 个答案:

答案 0 :(得分:11)

你应该使用.equals进行字符串比较,而不是==。

答案 1 :(得分:10)

使用此:nabeel.equals("Anish")

在Java中,String.equals检查两个字符串是否具有相同的内容,而==检查它们是否是相同的对象

答案 2 :(得分:8)

使用

if(nabeel.equals("Anish"))
{
...
}

,因为 要比较字符串的相等性,请不要使用==。 ==运算符检查两个对象是否完全相同。两个字符串可以是不同的对象,但具有相同的值(在它们中具有完全相同的字符)。使用.equals()方法比较字符串是否相等。