java - 将值从 arrayList 传递到对象数组时出错

标签 java arrays input arraylist

package mp1similar;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.Logger;
import EarthquakeRecord.Earthquakerecd;


public class MP1Similar 
{

private static ArrayList arrayList  ;

public static void main(String[] args) 
{
 ArrayList arrayList= null;
    try 
    {
    BufferedReader br = new BufferedReader(new FileReader("data/Catalog.txt"));

    String line="";
    arrayList =new ArrayList();
    while((line = br.readLine())!=null)
        {
      //  System.out.println(line);
        StringTokenizer st = new StringTokenizer(line);
        while(st.hasMoreTokens())
            {
          //System.out.println(st.nextToken());
            arrayList.add(st.nextToken());
            //System.out.println(br.readLine());
            }
        }
    }

    catch (FileNotFoundException ex)
    {
         System.out.println(ex.getMessage());
         ex.printStackTrace();
    }
catch (IOException ex)
    {
          System.out.println(ex.getMessage());
          ex.printStackTrace();
    }
          int j=0;
    Earthquakerecd E[]= new Earthquakerecd[2000];
     for(int i=0;i< arrayList.size();i++)
    {
        System.out.println(arrayList.get(i));
        E[j] = new Earthquakerecd();


       E[j].setDate(arrayList.get(i));



    if (j>35 )
    {
        j=0;
    } 
    j++;

    }



}

}

当我将值从 arrayList 传递到 E[j]setDate 时,出现错误。它表示 setDates 中的方法无法应用于给定类型。 aL 一个 Arraylist 的对象。我已经编辑了代码以包含所有内容。基本上它是从 TXT 文件读取数据的代码。有35列,1500多行。每列都属于某个属性,例如日期、名称等。

最佳答案

您尝试在此处对方法调用的结果使用赋值运算符:

E[j].setDate()=(aL.get(i));

我怀疑你想要:

E[j].setDate(aL.get(i));

但是,这将失败并出现 NullPointerException,因为您永远不会初始化 E[j] - 它始终是空引用。我怀疑你想要:

E[j] = new Earthquakerec();

在某个循环中。您可能还想在某个时候增加 j ...(不清楚这里的各种魔数(Magic Number)的用途 - 我怀疑您可以更清楚地编写整个代码,但它是当我们不知道它想要实现什么目标时,很难提出改进建议。)

关于java - 将值从 arrayList 传递到对象数组时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9166027/

相关文章:

java - f :selectItems - possible? 中的两个集合

java - Java 方法是否应该默认是静态的?

java - 使用 ArrayList 时出现明显错误,但遵循给定的语法(Stanford CS106A HangmanLexicon)

Perl:在 if-else 语句中接受用户输入

reactjs - 将光标重置到 &lt;textarea&gt; React 的开头

c++ - 快速读取文件

Java:接口(interface)的使用

java - 如何遍历嵌套列表

java - Java 中的素数数组

php - 计算不同字符串的数量?