equals()方法不能使用字符串

时间:2013-05-15 06:57:12

标签: java

我有一个字符串

number="(1234)5678";

但if块未执行:

if("(".equals(number.charAt(0)))
{
   System.out.println("IFFF");
}
else
{
   System.out.println("OUT");
}

如何更改布尔表达式以执行if块?

5 个答案:

答案 0 :(得分:12)

charAt()返回char。将charString.equals()进行比较将始终返回false

你需要

 if('(' == number.charAt(0))

答案 1 :(得分:3)

这是因为charAt(..)返回char而不是String。 String类中equals中的一个if子句是:

   if (anObject instanceof String) {
   ...
   }

答案 2 :(得分:1)

您可以尝试以下代码:

if(number.startsWith("(", 0))
    {
      System.out.println("IFFF");
    }
    else
    {         
      System.out.println("OUT");
    }

答案 3 :(得分:0)

或者你可以把:if(number.charAt(0)=='(')

答案 4 :(得分:0)

charAt()函数总是返回char..equals()用于比较字符串。

字符是基元,您可以将它们与“==”运算符进行比较。

 String number="(1234)5678";
    if('(' == number.charAt(0))
              {
                  System.out.println("IFFF");
              }
              else
              {
                  System.out.println("OUT");
              }