我有一个字符串
number="(1234)5678";
但if块未执行:
if("(".equals(number.charAt(0)))
{
System.out.println("IFFF");
}
else
{
System.out.println("OUT");
}
如何更改布尔表达式以执行if块?
答案 0 :(得分:12)
charAt()
返回char
。将char
和String
与.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");
}