1

我有一个字符串

number="(1234)5678";

但是 if 块没有被执行:

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

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

4

5 回答 5

12

charAt()返回一个char。比较charString.equals()将永远返回false

你需要

 if('(' == number.charAt(0))
于 2013-05-15T06:58:54.590 回答
3

那是因为没有charAt(..)返回。String 类中的 if 子句之一是:charStringequals

   if (anObject instanceof String) {
   ...
   }
于 2013-05-15T06:59:01.563 回答
1

您可以尝试以下代码:

if(number.startsWith("(", 0))
    {
      System.out.println("IFFF");
    }
    else
    {         
      System.out.println("OUT");
    }
于 2013-05-15T07:11:09.027 回答
0

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

于 2013-05-15T07:15:23.157 回答
0

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

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

 String number="(1234)5678";
    if('(' == number.charAt(0))
              {
                  System.out.println("IFFF");
              }
              else
              {
                  System.out.println("OUT");
              }
于 2013-05-15T07:26:36.373 回答