2014-10-31 120 views
0

有沒有辦法將未知類型的對象轉換爲整數? 好了,我當前的代碼是:Java:返回對象的檢測類型

ImageIcon question = new ImageIcon("D:\\Project Pics\\orange QMark 1 (small).jpeg"); 
String[] options = { "Numbers", "Alphabets", "Both" }; 

    JOptionPane.showInputDialog(null,"What type of array are you sorting?", "Array Type",JOptionPane.INFORMATION_MESSAGE, question, options, null); 

我如何知道或發現它返回什麼類型的對象?我得到一個ClassCastException當我這樣做:

int code = (int) JOptionPane.showInputDialog(null,"What type of array are you sorting?", "Array Type",JOptionPane.INFORMATION_MESSAGE, question, options, null); 
+0

非常感謝!!!!!我現在得到它!!!!! – 2014-10-31 05:30:50

回答

2

重載showInputDialog方法使用的是期待一個Object[]作爲arguemnt(它使用組合框),爲此它會返回一個Object。該對象是您提供的數組中的一個選定值。

在你當前的情況下,它是一個String數組,所以所有的值都是String。唯一可能的返回值是您在數組中的值。例如如果您有類似

Object[] options = { "1", 2, true }; 

那麼你就必須檢查instanceof看到類型是什麼,纔可以施展。例如

Object returnValue = JOptionPane.showInputDialog(...); 
if (returnValue instanceof Integer) { 
    Integer intValue = (Integer)returnValue; 
} 

至於你目前如何將int轉換爲返回值,我不明白。唯一可能的返回值是{ "Numbers", "Alphabets", "Both" }。爲什麼你試圖將這些值中的一個轉換爲int,我不知道。也許提供一個更多的背景知道你實際上想要達到什麼樣的效果

+0

謝謝! Mwaks! *飛吻* – 2014-10-31 05:31:47