Flex Java Object对应关系
目前LCDS只能与J2EE的服务端进行通信,所以目前只是ActionScript 3.0数据类型和Java数据类型的转换。ActionScript 3.0与Java数据类型转换是不对称的。
ActionScript3.0向Java转换时数据类型的对应关系
ActionScript数据类型 -------------------Java数据类型
null -------------------null
Number -------------------java.lang.Number
Boolean -------------------java.lang.Number,boolean,java.lang.String
String -------------------java.lang.String,java.lang.Boolean,boolean,java.lang.Character,char,java.lang.Number
Date------------------- java.util.Date
XML Object -------------------org.w3c.dom.Document
================================================
Java向ActionScript 3.0转换时数据类型对应
Java数据类型 -------------------ActionScript3.0数据类型
null -------------------null
java.lang.Number -------------------Number
java.lang.Number,boolean -------------------Boolean
java.lang.String,java.lang.Character char[] -------------------String
java.util.Collection,java.lang.reflect.Array -------------------Array
java.util.Map,java.util.Dictionary -------------------Object
org.w3c.dom.Document -------------------XML Object
其他classes -------------------Object
在使用LCDS调用的Java代码的过程中数据类型的转换是直接发生了,不需要显性的调用。
补:JAVA里的LIST、ARRAYLIST对应到FLEX里可以用ArrayCollection来接收。
eg:通过JAVA写一个连接ORACLE的方法,返回一个ARRAYLIST,该ARRAYLIST里放的一般是一个个的HASHMAP。如果通过 RemoteObject(或其他方式)来调用该方法时,FLEX端接收到的肯定是个OBJECT,这个时候可以强制转换成 ArrayCollection。然后通过遍历该ArrayCollection,来取得存每条数据的OBJECT(JAVA里的HASHMAP)。
FLEX里没有MAP类,但只要你知道了JAVA里MAP的KEY,那么FLEX里就可以作为OBJECT的一个属性来访问。
从 Action Script 到 Java
AS | 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 到 ActionScript
Java | AS |
java.lang.String | String |
java.lang.Boolean, boolean | Boolean |
java.lang.Integer | int |
java.lang.Short | int |
java.lang.Byte | int |
java.lang.Byte[] | flash.utils.ByteArray |
java.lang.Double | Number |
java.lang.Long | Number |
java.lang.Float | 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 |