日期:2014-05-20  浏览次数:20639 次

我写了一个程序不知怎么回事不对请高手帮我看一下
输出的为什么是地址而不是具体的数呢还有remove()方法怎么就没起作用啊
package 第十三章.容器;


import java.util.*;

public class User{
  String name;

  public User(String name) {
  this.name = name;
  }




}





package 第十三章.容器;

import java.util.HashSet;
import java.util.Iterator;



public class UserManager {

  public static void main(String[] args) {
  HashSet hs=new HashSet<User>();
  hs.add(new User("Jim"));
  hs.add(new User("Tom"));
  hs.remove("Jim");//
  hs.contains(new User("Tom"));
  Iterator it=hs.iterator();
  while(it.hasNext())
  {
  System.out.println(it.next()+" ");

  }
  }

}



------解决方案--------------------
Iterator没有用泛型。
所以返回的是Object。
------解决方案--------------------
hs.remove("Jim");//
你在HashMap中remove方面是移除指定建的映射关系在如果有得前提下。
你添加的是一个User对象的话用Vector吧或者是list吧HashMap是键值对的关系、