小弟在项目中使用了 Fastjson V1.8.23 ,今天发现在反序列化时产生了异常, 代码如下
responseResult = JSON.parseObject(response.getResponseText(), new TypeReference<A<BVO>>();
List<C> cList = responseResult.getData().getCList();
其中 C 对象中含有一个 boolean 类型的属性 D ,在此处转换完成之后,C 对象的 D 属性默认成为了 false ,但是该属性未被初始化,应为 Null 值。 请大佬指点迷津,问题出在哪里
1
Sherman07 OP 在尝试解决这个问题时,
我将 D 属性改为 int 类型,仍然出现该问题,D 属性被默认赋值 0 。 改为包装类型 Integer 时,该问题解决了,D 属性为 Null 。 |
2
popvlovs 2022-12-22 16:31:48 +08:00
你如果用的是 primitive type 的 boolean ,默认值就是 false ,你是想用 Boolean ?
|
3
JxQg597 2022-12-22 16:33:48 +08:00
boolean 是基本类型,听你的需求你应该要用的是 Boolean 。
Java 基础知识多巩固一下.... |
5
VensonEEE 2022-12-22 16:43:11 +08:00
boolean 没有 null 值 只有 true false
|
6
honjow 2022-12-22 18:08:51 +08:00
提问前还是得先把基础知识弄清楚
|
7
lei2j 2022-12-22 20:32:45 +08:00 via Android
先熟悉下 Java 的基本类型和包装类型的区别
|
8
Leon406 2022-12-24 10:11:28 +08:00
Java 基础知识多巩固一下
|