2017-03-21 11 views
-4

我無法將對象轉換爲數組。我已經搜索了這個問題,但沒有一個是我的解決方案。將對象轉換爲字符串數組

我有在螺紋

異常的誤差 「AWT-EventQueue的-0」 java.lang.ClassCastException: sun.awt.shell.Win32ShellFolder2不能轉換爲[Ljava.lang.String ;

這是我的代碼:

for (int i=0; i < list.getModel().getSize(); i++) { 
       Object item = list.getModel().getElementAt(i); 
       System.out.println("Item = " + item); 

       //String[] srcFiles = (String[]) item; 

       File finalFile = new File(srcFiles[i]); 
       FileInputStream fis = new FileInputStream(finalFile); 

我如何轉換Object item到字符串數組中?

+2

這沒有任何意義。你想做什麼?你爲什麼認爲'(String [])item'會起作用?你知道鑄造的工作原理嗎? – shmosel

+0

'item'是'Win32ShellFolder2'類型,你不能自動變成'String []'。 – csmckelvey

+0

顯示'list'聲明。 – shmosel

回答

1

由於sun.awt.shell.Win32ShellFolder2File一個子類,你可以這樣寫:

Object item = list.getModel().getElementAt(i); 
System.out.println("Item = " + item); 
FileInputStream fis = new FileInputStream((File)item);