[英]Convert String Expression into boolean expression
class A{
public static void main(String a[]){
String ad ="1<2";
Boolean b = Boolean.parseBoolean(ad);
if(b){
System.out.println("true");
}
else
{
System.out.println("false");
}
}
}
我希望輸出為true,但實際上輸出為false。
您似乎對Boolean.parseBoolean
工作方式Boolean.parseBoolean
困惑。 Javadoc明確指出:
如果字符串參數不為null,並且忽略大小寫,等於字符串“ true”,則返回的布爾值表示true值。
即,只有像Boolean.parseBoolean("True")
或Boolean.parseBoolean("tRuE")
返回true,就不會像Javascript的eval()
這樣完成參數評估(盡管可以在Java中使用ScriptEngine )。
看這個例子 :
public static void main (String[] args) throws java.lang.Exception
{
String ad ="1<2";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
Object result = engine.eval(ad);
System.out.println(Boolean.TRUE.equals(result)); // true
}
class A{
public static void main(String a[]){
String ad ="1<2";
String tmpDataArray[] = ad.split("<");
int num1 = Integer.parseInt(String.valueOf(tmpDataArray[0]));
int num2 = Integer.parseInt(String.valueOf(tmpDataArray[1]));
// Boolean b = Boolean.parseBoolean(ad);
if(num1<num2){
System.out.println("true");
}
else
{
System.out.println("false");
}
}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.