2010-02-16 67 views
6

在.NET中,當我有一個可以作爲多種類型存在的「值」時,我可以很容易地使用TypeConverter在這些類型之間切換(貨幣類型,xml數據vs對象表示等) 。在Java中,我不確定處理這種情況的首選方法是什麼。 Java中是否有TypeConverter等價物?是否存在.net TypeConverter等效於Java

回答

2

對於來自.NET世界的人來說,沒有一個開箱即可是一個驚喜。這是因爲我們有基本類型(int,long)等等,它們的原始包裝(Integer,Long等),當需要時(從JDK 1.5開始)從int自動裝箱到Integer。

所以我們可憐的Java開發人員手動轉換東西(上面給出的一些示例由@Boolean) 也是在執行這些操作時使用==運算符的無盡麻煩。例如:高達127的Autoboxed整數被緩存。

public void testsimple() { 
    Integer a = 124, b = 124, c = 500, d= 500; 
    System.out.println(a == b); //prints true in JDK 1.6 
    System.out.println(c == d); //prints false in JDK 1.6 
} 

如果你正在編寫一個需要太多數據轉換的巨大應用,你可以自己寫一些東西。 Spring的「TypeConverter」界面可以是一個體面的開始。

使用此鏈接http://imagejdocu.tudor.lu/doku.php?id=howto:java:how_to_convert_data_type_x_into_type_y_in_java如果你有一些麻煩

0

那麼你可以強制轉換的東西...例如,如果你有一個包含字符串的列表對象..你會抓住從列表中像這樣的字符串:

List aList = new List(); 
aList.add("Hello World); 
String s = (String) aList.get(0); 

如果你正在嘗試轉換串了一些..你會做同樣的事情到這一點:

String aString = "200"; 
int i = Integer.Parse(aString); 

我騙通過這樣一個整數轉換爲字符串時:

int i = 200; 
String s = "" + i; 
0

類型轉換器,其中加入到部分.NET允許交互UI設計師值顯示爲字符串,並讓類型的UI設計師並不瞭解用戶編輯禮值。

我認爲TypeConverter也用於數據綁定。

事實上,您可以在自己的軟件中使用TypeConverter在編譯時知道的類型之間進行轉換,這是一個副作用,而不是它們創建的主要用例。

由於Java從未試圖支持「RAD」工具,因此它沒有對TypeConverter和PropertyDescriptors等的需求。在某種程度上.net被設計爲允許與VB6啓用相同類型的UI開發。

相關問題