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