【问题标题】:Iterating through an arralist - java遍历数组列表 - java
【发布时间】:2014-03-30 20:22:02
【问题描述】:
public void display(detailTom tomData)
{
   ArrayList<detailTom> temp = new ArrayList<detailTom>();

  for (int i=0;i<tomData.toString().length();i++)
  {
      temp=tomData[i];
      System.out.println(temp.getMark1());
  }


}

大家好,

我正在尝试遍历一个数组列表 tomData,它是一个对象数组列表。我正在尝试遍历列表并显示对象“Mark1”的变量。

错误是get is "Array required but detailTom found"

有什么想法吗?或任何其他迭代 tomData 的方式?

【问题讨论】:

  • 你认为tomData[i]; 做了什么,为什么?
  • 你为什么要使用tomData的一些字符串表示的长度来计算迭代多远?您认为getMark1 方法是在哪里声明的? (提示:它不在ArrayList...)
  • 您将tomdata 定义为detailTom,它不是一个数组,因此您无法像访问数组一样访问它。
  • 基本上,想想all这些表达式的类型。 (理想情况下,您的课程也可以在 PascalCase 中命名......)
  • tomData[i]的主要对象是将对象传递给temp,以便temp可以显示值

标签: java arraylist iterator


【解决方案1】:

您提供的内容并没有真正的意义,但根据 cmets,我猜您正在寻找的答案类似于以下内容:

public void display(List<DetailTom> tomData) {
    for (DetailTom detail : tomData) {
        System.out.println(detail.getMk1());
    }
}

我已将您的课程从 detailTom 重命名为 DetailTom,convention in Java 也是如此:

类名称应该是描述性名词或名词短语,不要过长,大小写混合,每个单词的首字母大写。

【讨论】:

  • 感谢 Edd - 这很有效。我的代码遇到的问题如下:-
  • 我的方法最初被声明为 - public void display(detailTom tomData)。我应该将其声明为 public void display(ArrayList tomData)
猜你喜欢
  • 2023-03-11
  • 1970-01-01
  • 2016-03-08
  • 2015-07-29
  • 1970-01-01
  • 2016-10-09
  • 2011-02-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多