Java的哪個語法特性讓你覺得寫Java代碼很享受?
網(wǎng)友解答: 本人在日常主要使用的語言為c#和Java,就語法而言,寫c#更讓人享受。主要原因為c#更多的語法糖,linq真的好用,其次visual studio號稱宇宙第一IDE。但是個
本人在日常主要使用的語言為c#和Java,就語法而言,寫c#更讓人享受。主要原因為c#更多的語法糖,linq真的好用,其次visual studio號稱宇宙第一IDE。但是個人還是更愿意用java。
從java8出來后,感覺java在追趕著c#的步伐, java和c#的語法上越來越像(本來也挺像的,哈哈)。以下做一個小小的比較。
c#
java
以上實現(xiàn)的功能差不多,在java8中加入lambda表達(dá)式后,個人感覺越來越像c#了。
拋開語法層面,現(xiàn)在來說一說為什么更愿意用java
1、首先當(dāng)然是看收益啦,在國內(nèi)基本上沒有用c#的大廠,本來攜程在用,后來也轉(zhuǎn)為java了。
2、從技術(shù)層面來講,因為java造輪子的多,有很多優(yōu)秀的框架可以使用。在實際做項目中你遇到的問題,其他人肯定遇到過,能夠很好的找到問題關(guān)鍵。
3、從生態(tài)上來講,Java無疑是最好的選擇之一,因為其開源的早,建立生態(tài)的時間早。
4、從性能來說,Sun/Oracle的HotSpot JVM內(nèi)置的JIT編譯器在運行時對字節(jié)碼已經(jīng)做出了非常大的優(yōu)化努力,如果不是對性能十分敏感的應(yīng)用,java足夠用了。
謝謝。
網(wǎng)友解答:lambda 尖頭寫起來非常爽,比反復(fù) new 內(nèi)部類感覺上簡單很多,而且它的作用域是靜態(tài)的,可以在里面直接使用外部的 this 指針,這也很方便。
我還喜歡 jdk10 的 var 關(guān)鍵字可以幫你省去編寫冗繁的類型信息。有些人可能抱怨如果不能直接看到變量的類型信息,對代碼的可讀性會有傷害。這個我認(rèn)同,這也是為什么 var 關(guān)鍵字只能應(yīng)用于局部變量,類字段它就無能為力,因為后者的類型信息較為重要。
同樣的邏輯用 Java 代碼寫要比其它語言要多出不少,但是我還是喜歡 Java,那是因為 Java 是靜態(tài)語言,強(qiáng)大的 IDE 可以幫你快速規(guī)避掉各種語法錯誤。
Java 在語法上不存在魔法,使用它寫出來的代碼風(fēng)格不會千變?nèi)f化。這樣可以有效降低代碼的學(xué)習(xí)成本和閱讀門檻。從這里我們也應(yīng)該明白功能太豐富也未必是好事,因為它會提升使用成本。