我試圖從一個函數返回一個二維矩陣。 Eclipse抱怨功能的返回類型java - 方法返回類型混淆
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]));
}
}
}
錯誤eclipse告訴我的是This method must return a result of type String[][]
。正在返回的值dataArr
的類型爲String[][]
&方法readCsv
被指示返回String[][]
。
我無法弄清楚錯誤在哪裏。
拋出異常時不會返回任何內容。 –
在方法摘要中聲明可能發生在此方法中的異常可能是有利的。這樣,你不需要嘗試捕捉,你不需要返回一個虛假值 – ControlAltDel