map有值,返回的时候为空

weixin_45620867 2019-12-12 09:12:11
map里面都有值,然后return的时候就为空,size=0;
...全文
1142 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
aiotto资源分享 2019-12-26
  • 打赏
  • 举报
回复
返回了一个新对象呗
追风筝的孩子 2019-12-23
  • 打赏
  • 举报
回复
引用 14 楼 weixin_45620867 的回复:
引用 13 楼 追风筝的孩子 的回复:
很明显是getXXX返回null
为什么啊
因为你put进去的时候就是null的,map有值但这个值就是null
weixin_46063668 2019-12-23
  • 打赏
  • 举报
回复
哦哦哦!好的好的,没有更新
追风筝的孩子 2019-12-23
  • 打赏
  • 举报
回复
引用 18 楼 weixin_45620867 的回复:
引用 17 楼 追风筝的孩子 的回复:
[quote=引用 14 楼 weixin_45620867 的回复:] [quote=引用 13 楼 追风筝的孩子 的回复:] 很明显是getXXX返回null
为什么啊
因为你put进去的时候就是null的,map有值但这个值就是null[/quote]那是我初始化的,然后中间会有给他赋值的,值是从list里面拿的[/quote] 就是你的list里面返回的是null吧,只有这个可能啊,你想想是不是
weixin_45620867 2019-12-23
  • 打赏
  • 举报
回复
引用 17 楼 追风筝的孩子 的回复:
引用 14 楼 weixin_45620867 的回复:
[quote=引用 13 楼 追风筝的孩子 的回复:] 很明显是getXXX返回null
为什么啊
因为你put进去的时候就是null的,map有值但这个值就是null[/quote]那是我初始化的,然后中间会有给他赋值的,值是从list里面拿的
weixin_45620867 2019-12-20
  • 打赏
  • 举报
回复
引用 15 楼 常军永 的回复:
一周都过去啦,还在为空?
我用别的办法解决了,然后自己创了个新文件又试了一下之前的方法,map又有值了,但是之前那个没有,找不出原因,代码一样
常军永 2019-12-20
  • 打赏
  • 举报
回复
一周都过去啦,还在为空?
weixin_45620867 2019-12-19
  • 打赏
  • 举报
回复
引用 13 楼 追风筝的孩子 的回复:
很明显是getXXX返回null
为什么啊
追风筝的孩子 2019-12-19
  • 打赏
  • 举报
回复
很明显是getXXX返回null
moonFY 2019-12-19
  • 打赏
  • 举报
回复
要么map对象重新赋值了,要么先调用的返回方法再给map内赋的值
小林子(yhl) 2019-12-16
  • 打赏
  • 举报
回复
你的返回为空啊,你说你赋值是全局new了一下啊!,但你返回的时候值是没有的,明白吗?你按照我说的试试不就知道了吗? 你就把for循环写在我发图片那个方法试试不就得了!确实非常简单!
王能 2019-12-16
  • 打赏
  • 举报
回复
如果你还是理所当然的认为你的逻辑没毛病,我也无能为力
bdmh 2019-12-13
  • 打赏
  • 举报
回复
先检查以下,是否是同一个对象,或者所属的类是否被重新初始化过,再不行,就查找所有使用这个map的地方,逐个屏蔽排查
weixin_45620867 2019-12-13
  • 打赏
  • 举报
回复
引用 6 楼 王能 的回复:
这种问题就3点: 1.赋值语句后执行或者没执行,请debug确认执行顺序(不是猜测) 2.操作了不同的对象,请debug查看2个地址值是否相等(如上回答的图) 3.不小心调用了clear,请搜索到该map的clear()方法并debug查看是否被调用(不是猜测) 一定在这3点之内,仔细查看
为什么你们想的这么复杂。。首先我在oncreat方法中就赋值了,然后我没有用到什么clear方法,map都是有值的,为什么我这么肯定呢?因为这些map是存储SQLite里某个字段的值,然后我显示到ListView的时候这些值都出来了,都能显示到ListView中,然后我添加别的功能的时候需要这些map,然后我自己定义一个return这么map的方法,就是这时候我传过去发现为空,然后我DeBug的时候显示return的时候值已经为空,size为0,但是他明明有值啊。。你们怎么都说我没赋值或者调错对象,我那些map也没有重新new啊,map也没进行别的操作,只是单纯的把某个key中的值改了,就我传入一个相同的key,只是把这个key之前的值把他覆盖了,就这样,
weixin_45620867 2019-12-13
  • 打赏
  • 举报
回复
引用 7 楼 小林子(yhl) 的回复:
写的就有问题,你应该在你每个方法里面赋值 看的很美观,先了解下变量吧
我初始化的时候,全都!全都赋值了,至少不会为空,而且这个初始化,也就是我放的第一张图是在oncreat方法里
小林子(yhl) 2019-12-13
  • 打赏
  • 举报
回复
写的就有问题,你应该在你每个方法里面赋值 看的很美观,先了解下变量吧
王能 2019-12-13
  • 打赏
  • 举报
回复
这种问题就3点: 1.赋值语句后执行或者没执行,请debug确认执行顺序(不是猜测) 2.操作了不同的对象,请debug查看2个地址值是否相等(如上回答的图) 3.不小心调用了clear,请搜索到该map的clear()方法并debug查看是否被调用(不是猜测) 一定在这3点之内,仔细查看
王能 2019-12-13
  • 打赏
  • 举报
回复
引用 4 楼 weixin_45620867 的回复:
引用 3 楼 王能 的回复:
赋值和return的地方都debug,估计是你的赋值语句没执行或者后执行的
你看上面图片嘛。。我首先全都赋值了,然后过程中需要更新的时候重新给摸个key赋值,运行也没问题都有值,也有东西,然后做下一个功能的时候我需要这个map,然后return的时候发现这个值为空,但是我用的map的地方运行之后都有东西
如果确定赋值语句先执行的,再看看是否操作了同一个对象,如下图:类似10586是map的地址值,如果是同一个对象则一定相等
weixin_45620867 2019-12-13
  • 打赏
  • 举报
回复
引用 3 楼 王能 的回复:
赋值和return的地方都debug,估计是你的赋值语句没执行或者后执行的
你看上面图片嘛。。我首先全都赋值了,然后过程中需要更新的时候重新给摸个key赋值,运行也没问题都有值,也有东西,然后做下一个功能的时候我需要这个map,然后return的时候发现这个值为空,但是我用的map的地方运行之后都有东西
王能 2019-12-13
  • 打赏
  • 举报
回复
赋值和return的地方都debug,估计是你的赋值语句没执行或者后执行的
加载更多回复(1)

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧