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