我正在读取文件并将其存储在t1中.如何访问t1中的元素?当我尝试打印它时,我得到的是地址而不是值.还有什么是String和String []之间的区别?
- CSVReader reader = new CSVReader(new FileReader("src/new_acquisitions.csv"));
- List <String[]> t1 = reader.readAll();
- int i = 0
- while(i < t1.size()) {
- System.out.println(t1.get(i));
- i++;
- }
输出:
- [Ljava.lang.String;@9304b1
- [Ljava.lang.String;@190d11
- [Ljava.lang.String;@a90653
- [Ljava.lang.String;@de6ced
解决方法
String []是一个字符串数组,因此它没有像你期望的那样打印,请尝试:
- for (int i = 0; i < t1.size(); i++) {
- String[] strings = t1.get(i);
- for (int j = 0; j < strings.length; j++) {
- System.out.print(strings[j] + " ");
- }
- System.out.println();
- }
或者更简洁:
- for (String[] strings : t1) {
- for (String s : strings) {
- System.out.print(s + " ");
- }
- System.out.println();
- }
或者更好的是:
- for (String[] strings : t1) {
- System.out.println(Arrays.toString(strings));
- }