在Java语言中,你可以编写Boolean.valueOf(myString)
。然而,在Scala中,java.lang.Boolean
被缺少此功能的scala.Boolean
所隐藏。切换到使用boolean的原始Java版本很容易,但这似乎并不正确。
那么,在Scala中从字符串中提取true
的一行规范解决方案是什么?
发布于 2012-08-29 07:07:02
myString.toBoolean
的问题是,如果myString.toLowerCase
不是"true"
或"false"
中的一个,它会抛出异常(即使字符串中多余的空格也会导致抛出异常)。
如果您想要与java.lang.Boolean.valueOf
完全相同的行为,则使用完全限定,或者以不同的名称导入布尔值,例如,import java.lang.{Boolean=>JBoolean}; JBoolean.valueOf(myString)
。或者编写您自己的方法来处理您自己的特定情况(例如,您可能希望"t"
也是true
)。
https://stackoverflow.com/questions/1470230
复制相似问题