淺談Java與C#的一些細微差別
由于工作和之前學習的原因,我需要同時使用Java和C#兩門語言。這幾年,我也一直在使用J2EE平臺和.NET平臺做開發(fā)。說起C#和Java這兩門語言(語法,數(shù)據(jù)類型 等),個人以為,大概有90%以上的相似,甚至可以認為幾乎一樣。但是在工作中,我也發(fā)現(xiàn)了一些細微的差別,而且很多時候我常常會搞混一些小細節(jié)。
例如:
在Java中定義字符串,通常使用“String”(首字母大寫)去定義,而在C#中,一般使用string(首字母小寫)去定義。我經(jīng)常同時使用Microsoft Visual Studio 和Eclipse同時開發(fā)時,經(jīng)常把“字符串類型”的大小寫搞混淆,呵呵。
再就是,Java中定義Integer類型,而C#中沒有這個語法,但他們想要描述的其實都差不多,只是語法上的表現(xiàn)形式不同罷了。
常量聲明:Java 為此而使用 final 關鍵字,而 C# 使用關鍵字 const 或 readonly。
C# 提供了在 Java 中可用的所有數(shù)據(jù)類型,并且增加了對無符號數(shù)和新的 128 位高精度浮點類型的支持。
在 Java 中,對于每個基本數(shù)據(jù)類型,核心類庫都提供了一個包裝類來將其表示為 Java 對象。例如,Integer 類包裝 int數(shù)據(jù)類型,而 Double 類包裝 double數(shù)據(jù)類型。
而在 C# 中,所有的基本數(shù)據(jù)類型都是 System 命名空間中的對象。對于每個C#數(shù)據(jù)類型,都提供一個簡稱或別名。例如,int 是 System.Int32 的簡稱,而 double 是 System.Double 的簡寫形式。因為 C# 將所有的基本數(shù)據(jù)類型都表示為對象,所以按照基本C#數(shù)據(jù)類型來調(diào)用對象方法是可能的。例如:
int i=10;
Console.WriteLine(i.ToString());
還有在Java中使用泛型集合List,通常這樣去定義(使用C#的那種方式去定義,會編譯不通過):
List<int> list = new ArrayList<int>();
而在C#中使用泛型集合List,必須這樣去定義,如果使用Java中的那種方式,則編譯不通過。
List<int> list = new List<int>();
上面描述的一些小例子,是比較典型的。而且大都是和語法,數(shù)據(jù)類型等相關的。由于本人水平有限,以及時間的關系,對于那些更細節(jié)及更深入的內(nèi)容(比如:為什么必須這樣去定義......),就暫時不細說了。后續(xù)我也會不斷的整理,深入的研究,并更新。
本文只是拋磚引玉,希望讀者能夠用心去體會,熱心的朋友也可以一起研究、總結,整理供大家一起學習并分享。
- C#執(zhí)行Javascript代碼的幾種方法總結
- c#和javascript函數(shù)相互調(diào)用示例分享
- javascript函數(shù)中執(zhí)行c#函數(shù)的方法
- c#后臺輸出javascript語句示例程序
- C#匿名委托和Java匿名局部內(nèi)部類使用方法示例
- C# javascript 讀寫Cookie的方法
- C#調(diào)用Java代碼的方法介紹
- C#調(diào)用Java類的實現(xiàn)方法
- javaScript函數(shù)中執(zhí)行C#代碼中的函數(shù)方法總結
- C#/Java連接sqlite與使用技巧
- java與c#的語法區(qū)別詳細介紹
- java和c#使用hessian通信的方法
相關文章
C#中如何使用Winform實現(xiàn)炫酷的透明動畫界面
這篇文章講解了如何使用Winform實現(xiàn)炫酷的透明動畫界面,Winform相對于Wpf使用更簡單一些,系統(tǒng)要求更低,需要了解的朋友可以參考下2015-07-07