Java equals()方法无法处理字符串

Java equals()方法无法处理字符串,java,Java,我有一根绳子 number="(1234)5678"; 但不执行if块: if("(".equals(number.charAt(0))) { System.out.println("IFFF"); } else { System.out.println("OUT"); } 如何更改布尔表达式以执行if块?charAt返回一个char。将char和String与.equals进行比较将始终返回false 你需要 if('(' == number.charAt(0)) char

我有一根绳子

number="(1234)5678";
但不执行if块:

if("(".equals(number.charAt(0)))
{
   System.out.println("IFFF");
}
else
{
   System.out.println("OUT");
}
如何更改布尔表达式以执行if块?

charAt返回一个char。将char和String与.equals进行比较将始终返回false

你需要

 if('(' == number.charAt(0))
charAt返回一个char。将char和String与.equals进行比较将始终返回false

你需要

 if('(' == number.charAt(0))
那是因为查拉特。。返回字符而不是字符串。字符串类中equals中的if子句之一是:

   if (anObject instanceof String) {
   ...
   }
那是因为查拉特。。返回字符而不是字符串。字符串类中equals中的if子句之一是:

   if (anObject instanceof String) {
   ...
   }

您可以尝试以下代码:

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

您可以尝试以下代码:

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

或者您可以输入:ifnumber.charAt0==

或者您可以输入:ifnumber.charAt0==

charAt函数始终返回char..equals用于比较字符串

字符是基本体,您可以将它们与==运算符进行比较

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

charAt函数始终返回char..equals用于比较字符串

字符是基本体,您可以将它们与==运算符进行比较

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

在您的情况下,您可以使用startsWith方法String,这可能更容易理解,您在做什么:在您的情况下,您可以使用startsWith方法String,这可能更容易理解,您在做什么: