Set set = new HashSet();
Iterator it = set.iterator();
System.out.println(it);
打印出来的明明是个对象,为什么会有hasNext(),和next()的方法呢。

解决方案 »

  1.   

    对象不能有方法吗?继承了object,
      

  2.   

    我的打印结果(JDK 1.5.0_01):
    java.util.HashMap$KeyIterator@10b62c9
      

  3.   


    it是个Iterator 类对象,那末它就拥有Iterator 类的方法和属性你打印的时候,只是把这个对象的地址打印出来了
      

  4.   

    没有hasNext()和next()你怎么遍历 没有遍历你还用Iterator干嘛
      

  5.   

    JAVA里任何东西toString()了都基本是这个样子,不知道楼主的问题是什么
      

  6.   

    HashSet是个集合,里面的iterator用于遍历集合里面的所有元素
      

  7.   

     HashNext() 和 next() 是类Iterator 的方法 ,得到Iterator 类的对象就可以调用它的方法啦,
      

  8.   

    打印一个对象,其实就是调用这个对象的toString方法,你没有覆写Object的toString方法,他默认就是调用Object的toString方法,而Object的toString方法会打印这个对象的类型以及他在内存中的hash码。你想打印出这个类里面的属性就必须覆写Object的toString方法,返回各个属性的组成个一个String值
      

  9.   

    iterator和for都差不多一样的东西,都是做遍历用的, 
      

  10.   


    假如:
    for(int i=0;i<100;i++){
        set.add(i);
    }
    hasNext(),和next()方法,为了用Iterator方式遍历出set里的100个元素啊 附代码,自己运行下就知道区别了Set set = new HashSet(); 
    for(int i=0;i<10;i++){
        set.add(i);
    }
    Iterator it = set.iterator(); 
    System.out.println(it);
    System.out.println("\n------------------it.hasNext--it.next\n");
    while(it.hasNext()){
    System.out.print(it.next()+","); 
    }
      

  11.   

    楼主打印的相当是it.toString()啊!