Java与actionScript类型对应表
采用Java+Flex架构,通过BlazeDS中间件技术,使服务端Java数据和客户端Flex数据进行互通时,底层数据类型是不一致的,BlazeDS对其进行了映射,具体映射关系如下:
Java -> ActionScript
| Java | ActionScript |
|---|---|
| java.lang.String | string |
| java.lang.Boolean, boolean | Boolean |
| java.lang.Integar | int |
| java.lang.Short | int |
| java.lang.Byte | int |
| java.lang.Byte[] | Flash.utils.ByteArray |
| java.lang.Double | Number |
| java.lang.Float | Number |
| java.lang.Long | Number |
| java.lang.Character | String |
| java.lang.Character[] | String |
| java.util.Calendar | Date |
| java.util.Date | Date |
| java.util.Collection | mx.collection.ArrayCollection |
| java.lang.Object[] | Array |
| java.util.Map | Array (sparse) |
| java.util.Dictionary | Object (untyped) |
| org.w3c.dom.Document | XML object |
ActionScript -> Java
| ActionScript | Java |
|---|---|
| Array (dense) | java.util.List |
| Array (sparse) | java.util.Map |
| flash.utils.ByteArray | byte[] |
| flash.utils.IExternalizable | java.io.Externalizable |
| Date | java.util.Date |
| int/uint | java.lang.Integer |
| null | null |
| Number | java.lang.Double |
| String | java.lang.String |
| XML | org.w3c.dom.Document |
| XMLDocument | org.w3c.dom.Document |
Java里的List、Arraylist对应到Flex里可以用常用ArrayCollection来接收。
例如:通过调用java端某方法返回一个arraylist,该arraylist里放的一般是用户自定义类型。Flex端接收到的肯定是个Object,这个时候可以强制转换成ArrayCollection:event.result as ArrayCollection。然后通过遍历该ArrayCollection,来取得存每条数据的Object。 当as这边定义了与自定义类型定义的类型对应的类时,也可以强制转换成该类型。