I'm trying to import data from a CSV file. I don't have any issue about the importing process. But, when I'm passing an imported array from the CSV file to another method in another class, I can not get and print the values from the array. I got the following printing: [1, 2.0, [[Ljava.lang.String;@1e81f4dc]. "1" and "2" are imported values and are o.k.
The real trouble for me is to get and print the values in "[Ljava.lang.String;@1e81f4dc]".
I'd appreciate if you can help to know how to get the values in [Ljava.lang.String;@1e81f4dc] and print them. The array in [Ljava.lang.String;@1e81f4dc] is a 2d array with double values.
The code I'm working on is the next one:
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.*;
class importCsvToJava{
public static List<Object> getExample( ){
List<String[]> rowList = new ArrayList<String[]>();
try (BufferedReader br = new BufferedReader(new FileReader("/Users/user1/Desktop/csv1.csv"))) {
String line;
while ((line = br.readLine()) != null) {
String[] lineItems = line.split(";");
rowList.add(lineItems);
}
br.close();
}
catch(Exception e){
}
String[][] matrix = new String[rowList.size()][];
for (int i = 0; i < rowList.size(); i++) {
String[] row = rowList.get(i);
matrix[i] = row;
}
int a=1;
int b=2;
return Arrays.asList(a,b,matrix);
}
}
public class Callback {
public static void main(String[] args ) {
try{importCsvToJava.getExample();
List<Object> data = importCsvToJava.getExample();
System.out.println("Returned_matrix:"+data);
} catch (Exception e) {
System.out.println("Error during optimization");
e.printStackTrace();
}
}
}
String[][] mat = (String[][]) data.get(2);
for(String[] strings:mat)
{
for(String st:strings){
System.out.println(st);
}
}