今天突然出现了这种怪异的现象,我使用gson来解析服务器返回的json数据,json中有个字段isSuccess,是boolean类型,今天在请求的时候始终得不到正确的回应,一调试才知道isSuccess为false,但是返回的json中isSuccess是为true的,这种情况也不是每次都会发生,有时候又是正常的,服务器返回的json也是一样的,但是就会出现isSuccess会被解析成false的情况,有人遇到过这种情况吗?
发现了新的情况,我手动截取json中isSuccess字段,然后使用Boolean.valueOf(String)来转换,但是怪异的情况出现了,String参数为true,转换出来的value确实false,彻底凌乱了
我换了个方法,不用Boolean.valueOf(String)了,自己判断字符串来转换为true或者false,倒是不会出现这个问题了,不过上述问题留在这,等待大神来解答
找到问题所在了,我这里有个功能需要用到反射,我用反射取了Boolean.value,因为是private final修饰符,所以用了函数Field.setAccessible(true),然后通过反射的方法给Boolean.value设置了值,结果后面Boolean无论怎么赋值都是前面设置的那个值了,所以在反射给Boolean.value设置了值后,要调用Field.setAccessible(false)就可以了,次奥,恼火啊