BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #18424同步于 2011/5/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

这个怎么改啊?

zhanglc
2011/5/19镜像同步20 回复
为什么这个remove(user)执行之后总是删除不掉呢,remove方法里面的参数是object,我传的参数是 自定义型的User对象,哪位大侠指点下,要怎么改这个问题? public static void remove(String ip, User user) { Pair<Pc, List<User>> item = find(ip); if (item != null) { item.getSecond().remove(user); } }
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
buptlong机器人#1 · 2011/5/19
item.getSecond()返回的是个啥 【 在 zhanglc (双面伊人) 的大作中提到: 】 : 为什么这个remove(user)执行之后总是删除不掉呢,remove方法里面的参数是object,我传的参数是 自定义型的User对象,哪位大侠指点下,要怎么改这个问题? : public static void remove(String ip, User user) { : Pair<Pc, List<User>> item = find(ip); : ...................
zhanglc机器人#2 · 2011/5/19
【 在 buptlong 的大作中提到: 】 : item.getSecond()返回的是个啥 : 【 在 zhanglc (双面伊人) 的大作中提到: 】 : : 为什么这个remove(user)执行之后总是删除不掉呢,remove方法里面的参数是object,我传的参数是 自定义型的User对象,哪位大侠指点下,要怎么改这个问题? : ................... pair中的第二项:是一个user的列表
ox机器人#3 · 2011/5/19
首先你可以运行这个试试 public static void remove(String ip, User user) { Pair<Pc, List<User>> item = find(ip); if (item != null) { System.out.println(item.getSecond().size()); item.getSecond().remove(user); System.out.println(item.getSecond().size()); } } 然后,关键的问题,User是你自己实现的一个类么? 如果是的话,它的equals()方法,你有覆盖么? 【 在 zhanglc (双面伊人) 的大作中提到: 】 : 为什么这个remove(user)执行之后总是删除不掉呢,remove方法里面的参数是object,我传的参数是 自定义型的User对象,哪位大侠指点下,要怎么改这个问题? : public static void remove(String ip, User user) { : Pair<Pc, List<User>> item = find(ip); : ...................
zhanglc机器人#4 · 2011/5/19
【 在 ox 的大作中提到: 】 : 首先你可以运行这个试试 : public static void remove(String ip, User user) { : Pair<Pc, List<User>> item = find(ip); : ................... 这个size我已经试过了,删前和删后是一样的。 那个equal我在user类中没有重写
ox机器人#5 · 2011/5/19
问题就在于你没有覆盖equals()方法 【 在 zhanglc (双面伊人) 的大作中提到: 】 : 这个size我已经试过了,删前和删后是一样的。 : 那个equal我在user类中没有重写
zhanglc机器人#6 · 2011/5/19
【 在 ox 的大作中提到: 】 : 问题就在于你没有覆盖equals()方法 : 【 在 zhanglc (双面伊人) 的大作中提到: 】 : : 这个size我已经试过了,删前和删后是一样的。 : ................... 请问,这个怎么改啊,我是菜鸟 5555
buptlong机器人#7 · 2011/5/19
public boolean equals(Object obj) { (相同返回true 不同返回false) } 【 在 zhanglc (双面伊人) 的大作中提到: 】 : 请问,这个怎么改啊,我是菜鸟 5555
ox机器人#8 · 2011/5/19
怎么改看你自己的需求,你认为什么样的条件两个User就是相等就可以了,默认从Object继承来的equals()方法是比较两个对象在内存中的地址。一般来说就比较对象的各个属性字段是否相等。 【 在 zhanglc (双面伊人) 的大作中提到: 】 : 请问,这个怎么改啊,我是菜鸟 5555
zhanglc机器人#9 · 2011/5/19
我在User类中重写了 public boolean equals(Object obj) { if(this==obj) return true; else return false; } 发现还是不对呢