Java 如何解决从文本文件拆分数据时的打印问题

Java 如何解决从文本文件拆分数据时的打印问题,java,arrays,netbeans,text-files,Java,Arrays,Netbeans,Text Files,我遇到了一个问题,当我让程序打印包含拆分数据的数组时,数组不是单词。结果是这样的: [[Ljava.lang.String;@4aa298b7[Ljava.lang.String;@7d4991ad[Ljava.lang.String;@28d93b30,],。。。 [[Ljava.lang.String;@66d3c617[Ljava.lang.String;@63947c6b[Ljava.lang.String;@2b193f2d,] 此错误似乎特定于我的代码。我使用的是文本文件,而不是手动

我遇到了一个问题,当我让程序打印包含拆分数据的数组时,数组不是单词。结果是这样的:

[[Ljava.lang.String;@4aa298b7[Ljava.lang.String;@7d4991ad[Ljava.lang.String;@28d93b30,],。。。 [[Ljava.lang.String;@66d3c617[Ljava.lang.String;@63947c6b[Ljava.lang.String;@2b193f2d,]

此错误似乎特定于我的代码。我使用的是文本文件,而不是手动输入的数组

我不确定是什么原因导致它们以这种方式打印出来。 非常感谢您的任何建议或更正

这是我目前的代码:

import java.io.FileReader;
import com.opencsv.CSVReader;
import java.util.Arrays;
import java.util.ArrayList;

public class SATVocabPractice {
    @SuppressWarnings("resource")
    public static void main(String[] args) throws Exception {

        ArrayList words = new ArrayList(); //Word arrays 
        ArrayList definitions = new ArrayList(); //Definition arrays. 

        //Build reader instance
        //Read data.csv
        //Default seperator is comma
        //Default quote character is double quote
        //Start reading from line number 2 (line numbers start from zero)
        CSVReader reader = new CSVReader(new FileReader("C:/Users/Brandon/Documents/NetBeansProjects/SAT Vocab Practice/src/sat/vocab/practice/Words.txt"), '|', '"', 0);

        //Read CSV line by line and use the string array as you want
        String[] nextLine;
        while ((nextLine = reader.readNext()) != null) {
            if (nextLine != null) {
                //Verifying the read data here
                System.out.println(Arrays.toString(nextLine));
                definitions.add(Arrays.toString(nextLine).split("|"));
                words.add(Arrays.toString(nextLine).split("\\|"));
            }
        }
        System.out.println(words); //Print the word list
        System.out.println(definitions); //Print the definitions
    }
}
试试这个:

 System.out.println(Arrays.toString(words)); //Print the word list
 System.out.println(Arrays.toString(definitions)); //Print the definitions
我的建议是:

方法
Arrays.toString(nextLine)
的工作方式与您期望的不同


尝试通过下一行循环并将数组的每个内容分别添加到定义中

Ljava.lang.String;@
在您使用字符串数组作为字符串的位置返回。这就是他出现错误的原因。此错误不起作用。有一条错误消息说:找不到适合toString的方法(ArrayList)然后声明所有类型都不适用(即Arrays.toString(long[]),等等)。