簡體   English   中英

將字符串表達式轉換為布爾表達式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM