强制转换问题

raycome 2010-01-22 11:46:22
我在程序中定义了一个remoteClass, 如下:

package objects
{
[RemoteClass(alias="com.constant.dto.Procedure")]
public class Procedure extends JSFruit
{
override public function get label():String{
return "工序";
}
override public function set identifier(field:Object):void {
index = field as Number;
}

override public function get identifier():Object {
return this.index;
}

public var id:int;
public var proce:String;
public var index:Number;

public function Procedure()
{
}
}
}


对应的java代码如下

package com.constant.dto;

import java.io.Serializable;
import java.math.BigDecimal;



public class Procedure implements Serializable {
public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getProce() {
return proce;
}

public void setProce(String proce) {
this.proce = proce;
}

public BigDecimal getIndex() {
return index;
}

public void setIndex(BigDecimal index) {
this.index = index;
}

public Procedure(Integer id, String proce, BigDecimal index) {
super();
this.id = id;
this.proce = proce;
this.index = index;
}

public Procedure(){
super();
}

private Integer id;
private String proce;
private BigDecimal index;

private static final long serialVersionUID = 1L;
}


然后在一个component中分析一个包含Procedure对象的ArrayCollection(用 Procedure(procedures.getItemAt(i))
强制转换),而这个component则会在一个module中调用。

奇怪的是,第一次加载这个module时没什么问题。但如果unload了再加载它,就会出现
TypeError: Error #1034: 强制转换类型失败:无法将 objects::Procedure@7566fa9 
转换为 objects.Procedure

用debugger看过,第一次加载和第二次加载module时,该arraycollection的item都是objects.Procedure。
但为什么第一次可以转换,第二次就不行呢??哪位高手来一下!
...全文
100 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧