2014-11-21 82 views
1

我正在使用掃描儀進行用戶輸入並將其分配給對象。我知道字符串是對象類的擴展,所以它應該是一個簡單的賦值。這是我試過的。接受用戶輸入並將其分配給對象

string name = s.nextLine();// or s.next(); 
object obj = name;// or JOSN.parse(name); 

這是我的代碼。我已經把一個數組列表替換成另一個數組列表。

 trans = new List<Transition>(nos); 

     for (i = 0; i < 5; i++) { 
      List<Transition>innerList = trans.get(i); 
      for (j = 0; j < 5; j++){ 
       String state = s.next(); 
       Transition reg = innerList.get(j).add(state); 
     }} 

我得到的錯誤是'type mismatch cant convert type string to Transition',但Transition只是一個對象。

+0

post more code,what is innerList – 2014-11-21 01:15:37

+0

我更新了我的問題 – Will 2014-11-21 01:27:14

回答

1
  OBJECT 
    /  \ 
    Transition String 

這就是層次結構的樣子。

Transition is a subclass of Object,就像String is a subclass of Object一樣。

如果兩個類在同一個層次鏈中,那麼可以安全地將一個子類的實例轉換爲超類的實例。在這種情況下,Transition and String不在同一個鏈中。

參考here瞭解更多信息。我基本問了你的問題,並得到了downvote。 :)

+0

@請注意看答案 – 2014-11-21 02:12:39

0

當我們正在鑄造它必須有IS-A關係。意思是,字符串IS-A對象轉換IS-A對象

在這個時候,我們爭取在串並轉換,我們看到的關係,不能轉換(IS-A)字符串

這會給你鑄造的問題,我們必須記住,每當我們嘗試任何鑄造它必須在層次結構中,與其他IS-A關係

相關問題