![](/img/trans.png)
[英]incompatible types: java.lang.Object cannot be converted to java.lang.String
[英]java.lang.Object[] cannot be converted to java.lang.String[]
public class Mass_Reading
{
public static void main(String args[]) throws Exception
{
CSVReader reader = new CSVReader(new FileReader("Test_Graphs.csv"));
List myEntries = reader.readAll();
//System.out.println(myEntries);
myEntries = new ArrayList<String>(myEntries);
//System.out.println(myEntries);
Object[] data = myEntries.toArray();
System.out.println(data[0] + "");
}
}
我正在嘗試讀取.csv文件,並將數據轉換為可行的數據類型。 當讀入時,它作為字符串對象列表開始。 在上面的代碼中,我試圖將其添加到字符串數組中。 我的主要困擾是將String對象轉換為String Literal。 我不斷收到錯誤java.lang.Object []無法轉換為java.lang.String []。 上面的代碼可以編譯,但仍達不到我的目標。 當它打印時,我仍然得到一個字符串對象。 感謝您的任何建議。
使用此代碼:
String[] data = myEntries.toArray(new String[myEntries.size()]);
您調用的方法myEntries.toArray()
始終返回Object[]
,而該Object[]
不能轉換為String[]
。
但是在上面的示例中有一個重載的方法,您可以在其中傳遞正確類型的數組作為參數。 然后,如果toArray()
方法的大小足夠大,它將填充它。
如果沒有足夠的大小,它將創建一個正確類型的新數組(與您傳入的參數類型相同)
因此,您還可以編寫:
String[] data = myEntries.toArray(new String[0]);
有些人喜歡這樣做,但是我不喜歡這樣一個事實,即會創建一個浪費的對象,盡管在實際的應用程序中這不會影響性能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.