java - java 遍历通用列表

标签 java

嗨,我不知道如何使用迭代器迭代通用列表。

例如我有这样的东西:

public class a{
     protected int _b;
     protected String _c;
     protected float _d;
     protected int _e;
public a(int b, String c, float d, int e){
            // assign value _b,_c,_d,_e
}

     static class ab implement Iterable<a>{
           public static List myList = new ArrayList(a);
           public static void addlist(a f){
                   myList.add(f);
           public Iterator<a> iterator(){
                   return myList.iterator()}// overriding List iterator method

然后在主方法中,我通过创建类 a 的实例来为 _b、_c、_d、_e 分配值并将其添加到 myList 中,但是当我使用迭代器时,它不会显示列表,但会显示内存位置(我猜)该列表中的。我想让它一一显示a类中的所有字段。有什么建议我应该做什么吗???

最佳答案

它不显示列表,但显示该列表的内存位置(我猜)。

它显示内存位置,因为您尚未重写 toString 方法,因此它会退回到默认的 Object 实现。您需要重写 a 类中的 toString 方法。

如果您添加类似以下内容:

public String toString()
{
    return // Some string data. 
}

对于您的a类,您将开始看到正确的输出。

注意:Java 命名约定规定所有类都应以大写字母开头,并且每个单词都有一个大写字母。即:a -> A

关于java - java 遍历通用列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15998297/

相关文章:

JavaFX Maven Plugin : com. zenjava - 如何复制外部资源

java - 使用与 Eclipse 不同的 JRE 的 Ant Javac 目标? - "java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0"

java - Web 上下文根是否有内置的 Spring 环境变量?

java - 如何从jsp页面获取id到servlet?

java - 电子邮件代码使 java spring MVC 中的代码变慢

java - openSession()、getCurrentSession()、beginTransaction()、延迟加载

java - 将 Java 应用程序放入 Mac OS X 上的 Dock

java - 在调用 session.save/update 的方法中使用拦截器进行 Hibernate Session 锁定的目的

java - 尽管编码正确,XML 解析器仍无法解析 UTF-8

java - 在java中使类泛型化