Axa*_*hia 2 java string boolean
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");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我希望输出是真的,但它实际上打印的是假的。
你似乎混淆了Boolean.parseBoolean工作原理。在javadoc中明确指出:
如果字符串参数不为空并且与字符串“true”相等(忽略大小写),则返回的布尔值表示值 true。
即只有像Boolean.parseBoolean("True")或Boolean.parseBoolean("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
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2000 次 |
| 最近记录: |