当你使用AMF格式进行RemoteObject 调用时,肯定会用到Java类型和ActionScript类型的转换,那么他们之间的类型匹配关系是怎样的,这个其实在Flex的doc中有介绍,这里我进行一个整理。
|
Java类型
|
ActionScript类型
|
|
java.lang.String
|
String
|
|
java.lang.Character
|
String
|
|
java.lang.Character[]
|
String
|
|
java.lang.Boolean, boolean
|
Boolean
|
|
java.lang.Integer, Short, Byte
|
int
|
|
java.lang.Double,double
|
Number
|
|
java.lang.Long, long
|
Number
|
|
java.lang.Float, float
|
Number
|
|
java.util.Date
|
Date
|
|
java.util.Calendar
|
Date
|
|
java.lang.Object
|
Object
|
|
java.lang.Object[]
|
Array
|
|
java.lang.Byte[]
|
flash.utils.ByteArray
|
|
java.util.Dictionary
|
Object(无法匹配)
|
|
java.util.Map
|
不建议使用
|
|
null
|
null
|
Java类必须实现Serializable接口,并且每个需要Serializable 的property必须是public而且实现getter/setter方法
ActionScript类的写法如下
package samples.contact {
[Bindable]
[RemoteClass(alias="samples.contact.Contact")]
public class Contact {
public var contactId:int;
public var firstName:String;
public var lastName:String;
public var address:String;
public var city:String;
public var state:String;
public var zip:String;
}
}

本文整理了AMF格式下Java类型与ActionScript类型间的转换规则,包括基本数据类型、复杂对象及自定义类等。此外还介绍了为确保类型正确转换,Java与ActionScript类编写时需要注意的事项。
1753

被折叠的 条评论
为什么被折叠?



