调用具有为false的布尔属性的对象的from-java可以返回不是Boolean/FALSE的boxed布尔值。
这导致一个等于假的布尔值,但如果为真的路径。
`
(def bool (:absolute (from-java (URI. ""))))
bool
=> false
(= bool false)
=> true
(if bool true false)
=> false
`
这导致非常令人困惑的行为。
由于Clojure不会更改if的行为(https://dev.clojure.org/jira/browse/CLJ-1718)并且我们不掌握布尔值的构建,我认为from-java应该意识到这个问题并修复它。
可以通过为Boolean添加一个额外的工具来修复这个问题,该工具以正确的方式重新构造Boolean,尽管我不确定最佳方式是什么样的。