Java对象和Flex对象映射关系

ActionScript与Java类型对应表

 便于以后参考!_!

当你使用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 varfirstName:String;

        public varlastName:String;

        public varaddress:String;

        public varcity:String;

        public varstate:String;

        public varzip:String;
    }
}

Flex ActinScriptJava数据类型对照表

中文:

ActionScript数据类型转换为Java数据类型对照表

ActionScript数据类型

Java数据类型

Array(strict)

java.util.List

Array(associative)

java.util.Map

Boolean

java.lang.Boolean

Date

java.util.Date

int/unit

java.lang.Integer

Number

java.lang.Double

无类型对象

java.util.Map

强类型对象

使用[RemoteClass]标签声明的强类型对象

XML

org.w3c.document

未定义的,或null

Null

Java数据类型转换为ActionScript数据类型对照表

Java数据类型

ActionScript数据类型

String, Character,char, Character[],char[], BigInteger,BigDecimal

String

Boolean

Boolean

int, short, byte

int

double, long, float

Number

Calendar, Date

Date

Object

Object

Collection

ArrayCollection

Object[]

Array

Map, Dictionary

无类型对象

org.w3c.Document

XML 对象

null

null

actionScriptjava:

******************************************************

ActionScript type (AMF 3)

Deserialization to Java

Supported Java type binding

Array (dense)

java.util.List

java.util.Collection, Object [ ] (native array)

If the type is an interface, it is mapped to the following interface implementations

·         List becomes ArrayList

·         SortedSet becomes TreeSet

·         Set becomes HashSet

·         Collection becomes ArrayList

A new instance of a custom Collection implementation is bound to that type.

Array (sparse)

java.util.Map

java.util.Map

Boolean

String of "true" or "false"

java.lang.Boolean

Boolean, boolean, String

flash.utils.ByteArray

byte []

 

flash.utils.IExternalizable

java.io.Externalizable

 

Date

java.util.Date

(formatted for Coordinated Universal Time (UTC))

java.util.Date, java.util.Calendar, java.sql.Timestamp, java.sql.Time, java.sql.Date

int/uint

java.lang.Integer

java.lang.Double, java.lang.Long, java.lang.Float, java.lang.Integer, java.lang.Short, java.lang.Byte, java.math.BigDecimal, java.math.BigInteger, String, primitive types of double, long, float, int, short, byte

null

null

primitives

Number

java.lang.Double

java.lang.Double, java.lang.Long, java.lang.Float, java.lang.Integer, java.lang.Short, java.lang.Byte, java.math.BigDecimal, java.math.BigInteger, String, 0 (zero) if null is sent, primitive types of double, long, float, int, short, byte

Object (generic)

java.util.Map

If a Map interface is specified, creates a new java.util.HashMap for java.util.Map and a new java.util.TreeMap for java.util.SortedMap.

String

java.lang.String

java.lang.String, java.lang.Boolean, java.lang.Number, java.math.BigInteger, java.math.BigDecimal, char[], any primitive number type

typed Object

typed Object

when you use [RemoteClass] metadata that specifies remote classname. Bean type must have a public no args constructor.

typed Object

undefined

null

null for Object, default values for primitives

XML

org.w3c.dom.Document

org.w3c.dom.Document

XMLDocument

(legacy XML type)

org.w3c.dom.Document

org.w3c.dom.Document

You can enable legacy XML support for the XMLDocument type on any channel defined in the services-config.xml file. This setting is only important for sending data from the server back to the client; it controls how org.w3c.dom.Document instances are sent to ActionScript. For more information, see

******************************************************

javaactionScript:

******************************************************

Java type

ActionScript type (AMF 3)

java.lang.String

String

java.lang.Boolean, boolean

Boolean

java.lang.Integer

int

If i < 0xF0000000 || i > 0x0FFFFFFF, the value is promoted to Number.

java.lang.Short

int

If i < 0xF0000000 || i > 0x0FFFFFFF, the value is promoted to Number.

java.lang.Byte

int

If i < 0xF0000000 || i > 0x0FFFFFFF, the value is promoted to Number.

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

Datesare sent in the Coordinated Universal Time (UTC) time zone. Clients andservers must adjust time accordingly for time zones.

java.util.Date

Date

Dates are sent in the UTC time zone. Clients and servers must adjust time accordingly for time zones.

java.lang.Object (other than previously listed types)

Typed Object

Objects are serialized using Java Bean introspection rules. Fields that are static, transient, or nonpublic are excluded.

java.util.Collection

mx.collection.ArrayCollection

java.lang.Object[]

Array

java.util.Map

Object (untyped)

InFlex 1.5, java.util.Map was sent as an associative or ECMA Array. Thisis no longer a recommended practice. You can enable legacy Map supportto associative Arrays, but Adobe recommends against doing this. Formore information, see Providing legacy AMF serialization on a channel

java.util.Dictionary

Object (untyped)

org.w3c.dom.Document

XML object

Youcan enable legacy XML support for the XMLDocument type on any channeldefined in the services-config.xml file. For more information, seeProviding legacy AMF serialization on a channel.

null

null

Other classes that extend java.lang.Object

Object (typed)

Objects are serialized using Java Bean introspection rules. Fields that are static, transient, or nonpublic are excluded.

******************************************************

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值