flex和java数据类型匹配关系

使用BlazeDS+JAVA的模式来开发的时候,数据类型对应的关系如下:

    从 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

    目前 LCDS 只能与 J2EE 的服务端进行通信,所以目前只是 ActionScript 3.0 数据类型和 Java 数据类型的转换。ActionScript 3.0 与 Java 数据类型转换是不对称的。 ActionScript 3.0 向 Java 转换时数据类型对应如表 所示。在使用 LCDS 调用的 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.Docume

    java 数据类型  转向 actionscript 数据类型

    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 其他

    claess                                                             Object
    java 数据类型的默认值

    类型                  默认值

    boolean           false byte

    0 short                0 int

    0 long                 0L char

    \ float                  0.0f do le

    0.0d 对象引用          null

    ActinonScript3.0 数据类型的默认值

    Boolean逻辑数据类型,默认值是falseint整形数据类型,默认值为0Number双精度浮点型,默认值为NaNObject属性集合默认值为NullString字符类型默认值为NullUint整型数据类型,默认值为0未声明的全部默认为undefined其他所有类(包括用户定义的类)默认值为null

    这里值得注意的是int和uint两个整形数据类型的不同在于他们所包含的值得范围不一样,int的值得范围是-2147483648到2147483647之间的整数uint则是0到4294967295之间的整数就是说该类型是32为无符号整,数如想检查数据类的默认值得话可以用下面的代码完成。例:

    var wdll:Boolean;

    var wdll01:int;

    var wdll02:uint;

    var wdll03:Number;

    var wdll04:String;

    var wdll05: Object;

    var wdll06:*;

    trace(wdll);

    trace(wdll01);

    trace(wdll02);

    trace(wdll03);

    teacr(wdll04);

    trace(wdll05);

    trace(wdll06);

你可能感兴趣的:(flex和java数据类型匹配关系)