初学 Android,请教下这种情况下,为什么 smsBean 是空的?

2022-01-04 14:38:00 +08:00
 Features

我在一个模块中使用以下代码


        ArrayList<SmsBean> smsList = new ArrayList<>();
        SmsBean smsBean = new SmsBean();
        smsBean.setSender("***********");
        smsBean.setTitle("test title");
        smsList.add(smsBean);

        SmsBean smsBean2 = new SmsBean();
        smsBean2.setSender("******");
        smsBean2.setTitle("test title2");
        smsList.add(smsBean2);

        Log.d(TAG,"smsList:"+ JSON.toJSONString(smsList));
        Log.d(TAG,"smsBean:"+ JSON.toJSONString(smsBean));

输出结果为:

 smsList:[{},{}]
 smsBean:{}

但是我在主项目的 activity 中测试时,又能打印出正确的结果,可能的原因是什么?

4445 次点击
所在节点    Android
10 条回复
AoEiuV020CN
2022-01-04 15:21:22 +08:00
看不出毛病,可以的话搞个问题 demo 项目到 github 发出来,
或者先贴一下 SmsBean 的代码,
hello2090
2022-01-04 15:24:37 +08:00
不懂 android 但你可以 debug 吗?放个断点到 smallish.add 看看呢
hello2090
2022-01-04 15:25:54 +08:00
或者 tojsonstring() 要求实现的函数 smsbean 实现了吗
whyrookie
2022-01-04 16:06:21 +08:00
可以进到 JSON.toJSONString 函数里面看看
NexTooo
2022-01-04 16:34:21 +08:00
看上去没问题,你看下最后的 Json.toJSONString 方法实现?
可能区别在这儿
Features
2022-01-04 17:28:07 +08:00
@AoEiuV020CN
@hello2090
@whyrookie
@NexTooo
用的是 fastjson ,自己做了个 demo 可以输出正确结果,就是在插件环境里出现这种问题
ykrank
2022-01-04 20:04:14 +08:00
不要用 fastjson
hongch
2022-01-05 09:34:43 +08:00
7L 正解
AoEiuV020CN
2022-01-05 10:01:04 +08:00
@Features #6 有没有混淆,混淆导致 field 和 getter/setter 名字对不上也会出这种问题,
Features
2022-01-05 13:23:40 +08:00
@AoEiuV020CN 刚刚学习开发 uniapp 的插件,还不太了解原因

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/826104

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX