我不明白为什么会出现以下错误。有什么想法吗?
我收到错误:Cannot cast object 'true' with class 'java.lang.Boolean' to class 'java.io.File'
这是在“if (envProp.exists()...”行产生错误的代码:
static private File envProp = new File('env.properties')
static private File envPropBak = new File('env.properties.bak')
@BeforeClass
static void beforeAll() {
if (envProp.exists()) {
envPropBak.write( envProp.text )
}
}
我不明白为什么
envProp.exists()
正试图将任何东西转换为另一个对象。方法.exists()
应该只返回 boolean
.谢谢
最佳答案
我今天遇到了同样的问题,但就我而言是:
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'true' with class 'java.lang.Boolean' to class 'java.util.List'
问题是,如果你有这样的事情:
public List<Foo> method(){
methodThatReturnsTrue()
}
因为 Groovy 使用最后一句的返回值作为方法的返回值,所以它尝试将 true 转换为
<some_not_boolean_type>
所以你和我得到的错误。
关于file-io - Groovy:无法将类 'true' 的对象 'java.lang.Boolean' 转换为类 'java.io.File',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17068689/