分享

reduce函数感觉有问题,取输入的value值的问题,怎么都想不明白,求问

heelo 发表于 2017-9-14 21:13:29 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 12 9486
heelo 发表于 2017-9-15 21:00:49
找到问题了,不是前面大家说的调用了多个reduce的问题,是因为l.add(k)这句,传递值的时候传递的k的引用,在第二个循环后,k指向的变量地址改变,导致l列表内的元素地址也改变,最终导致每次输出的值相同,解决办法是用l.add(new Text(k.toString()))
回复

使用道具 举报

nextuser 发表于 2017-9-17 18:18:20
heelo 发表于 2017-9-15 21:00
找到问题了,不是前面大家说的调用了多个reduce的问题,是因为l.add(k)这句,传递值的时候传递的k的引用, ...

楼主是否知道为什么在第二个循环后,k指向的变量地址会发生改变
回复

使用道具 举报

heelo 发表于 2017-9-18 10:39:05
nextuser 发表于 2017-9-17 18:18
楼主是否知道为什么在第二个循环后,k指向的变量地址会发生改变


这个还真是不清楚,实际上在写java的时候我都是之前那么赋值的也没有问题,所以才很困惑,请问这是什么原因啊
回复

使用道具 举报

12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条