初學flex時 總結記錄下來要學習的基礎知識:
使用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 |
FLEX數據類型說明
類型名
類型描述
Boolean
只有兩個值:true 和false
Int
整數類型,取值範圍:-2147483648~2147483647
Null
只有一個值null,代表空值
Number
整數類型和浮點類型,使用64位雙精度
String
字符串類型,以Unicode編碼格式存放
Uint
正整數類型,取值範圍:0-4294967295
Void
值爲undefined,只可用作函數的返回類型。
可以拖曳的組件:DataGrid Menu TileList Tree
屬性名稱
屬性描述
AllowDragSelection
默認false,是否可以拖曳
AllowMultipleSelection
默認false,是否可以多選
dragEnable
默認false,是否可以拖動子元素
dragMoveEnable
默認是false,是否可以移動元素位置,而不是複製元素
dropEnable
默認false,是否可以將物件放置進來
flex數字計算-符號
符號說明
+
加法運算
-
減法運算
*
乘法運算
/
除法運算
%
取餘運算,A%B,得到A÷B的餘數
++
累加運算,a++, 結果相當於a=a+1
--
累減運算,a-- , 結果相當於a=a-1
+=
連加運算,a+=b,結果相當於 a=b+a
-=
連加運算,a-=b,結果相當於 a=b-a
*=
連乘運算
/=
連除運算
%=
連餘運算
在使用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的一個屬性來訪問
flex 強制類型轉換
一般情況 是用 as 即可實現類型的轉換
String 和 Number 之間的互換不行
String 轉爲Number
eg:var s:String="0";
var i:int=Number(s);
Number 轉爲String
eg: var n:int = 67;
var ss:String=String(n);
注: java 中 int轉爲 String 可以是 “”+int值, 這裏是不行的,目前我知道的是隻有上面這一種方式轉爲 String