2013-10-04 44 views
0

我對發送對象,變量或從我的Red5 Java服務器應用程序到AS3腳本的理解存在問題。TypeError:錯誤#1034:類型強制失敗:無法將對象轉換爲陣列

的問題IM面對的,是我寫下來的Java以下代碼:

 ((IServiceCapableConnection) conn).invoke("say", params); 

它會調用我的ActionScript中的方法調用「說」與他的參數叫做「PARAMS」。 目前爲止這麼好。

我的動作腳本的樣子:

 public function say(user:Array):void{ 
      var usr:Array = user as UserVO; 
      list.appendText(usr[0] + "\n"); 
     } 

因此它的陣列,但我不能用它它告訴我,會導致以下錯誤:

類型錯誤:錯誤#1034:類型強制失敗:不能將Object @ 123b4a7f1轉換爲Array。

那麼有人可以告訴我如何「轉換」這部分權利?我看到一些關於序列化的文章,但沒有得到這個問題。

回答

0

UserVO不兼容Array

var usr:Array = user as UserVO; 

你可以試試這個:

的Java

var usr:UserVO = user[0] as UserVO;// or similar in a for loop 

如果您確認以下這將是很好

package abc; 
public class UserVO implements Serializable { .. } 

AS

[Bindable] 
    [RemoteClass(alias="abc.UserVO")] 
    public class UserVO 
    { .. } 
+0

泰,hatsh的評論,但我仍然得到這個異常 類型錯誤:錯誤#1034:類型強制失敗:無法轉換對象@ 10957eac1數組。 我可以在每個值的for循環中進行轉換嗎? –

+0

在哪條線上出現此錯誤?你也可以發佈你在'Java'調用中傳遞的'params' .. – harsh

+0

啊sry忘了發佈它了... Object [] params = new Object [] {user}; 用戶是一個值對象,它包含我所有的用戶屬性。它的構建如下: public class UserVO { \t private int id; \t public int getId(){ \t \t return id; (int id){ \t \t this.id = id; \t}} 編輯 –

相關問題