Я пытаюсь вернуть 2D-матрицу из функции. Eclipse, жалуется на тип возвращаемого значения функцииjava - метод return type confusion
import java.io.*;
import java.util.Arrays;
import java.util.List;
import com.opencsv.CSVReader;
public class myClass {
private static String inFile = "myfile.csv";
private String[][] readCsv() {
File file1 = new File(inFile);
if (file1.exists()) {
System.out.println("File " + inFile + " exists. length : " + inFile.length());
} else {
System.out.println("File " + inFile + " does not exist!");
}
try {
// Read all
CSVReader csvReader = new CSVReader(new FileReader(new File(inFile)));
List<String[]> list = csvReader.readAll();
// Convert to 2D array
String[][] dataArr = new String[list.size()][];
dataArr = list.toArray(dataArr);
return dataArr;
} catch (Exception ex) {
// Do something with mistake or ignore
ex.printStackTrace();
}
}
public static void main(String[] args) {
myClass mc = new myClass();
String[][] csvContents = mc.readCsv();
for (int k = 0; k < 10; k++) {
System.out.println(Arrays.toString(csvContents[k]));
}
}
}
затмение ошибка говорит мне This method must return a result of type String[][]
. Возвращаемое значение, dataArr
имеет тип String[][]
& Метод readCsv
получил указание вернуть String[][]
.
Я не могу понять, где ошибка.
Вы ничего не возвращаете, когда генерируется исключение. –
Возможно, потенциально выгодно объявить исключения, которые могут возникнуть в этом методе в сводке метода. Таким образом, вам не нужна попытка улова, и вам не нужно возвращать фиктивное значение – ControlAltDel