亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

聊一下C#開發者如何過渡到JAVA 開發者

2019-11-15 00:35:56
字體:
來源:轉載
供稿:網友
聊一下C#開發者如何過渡到java 開發者

由于工作需要,最近也開始倒騰Java了.NET的話,從2012年測試版開始玩的,那個時候VB6比較熟悉,還天真的以為VB.NET以后會很火,

事實證明,也只是一廂情愿,有C#了,要VB.NET干什么?既生瑜,何生亮...

一門語言玩得久,也不能說對一門語言就精通了,裝配腦袋,趙姐夫才是大牛.我也只是一個愛好者罷了.

說回正題,園子里面NET和JAVA好壞的帖子已經無數了,這里只是想說說Csharper轉Javaer的一些感受,無意評價語言優劣,我們沒有資格.

1.IDE

VS是宇宙第一IDE,這個是無可爭辯的,Eclipse雖然有些弱,但也做得不錯了.

相比VS動輒8,9個G的身材,Eclipse則小很多,我用的是J2EE版本的Eclipse,解壓后300M+,免安裝.

當然,VS龐大,但是對于提高開發效率,則有則無可比擬的優勢.

    for(int i=0;i<5;i++){            }

這樣的代碼,我在Eclipse里面是一個字符一個字符輸入的,VS的話,打完 for 之后,兩下Tab就可以了。

當然在代碼重構這里,Eclipse則可用的操作比原生的VS多很多。(VS2015的話,重構也很牛逼,ReSharp附體的感覺)

IDE的話,還是一分大小一分功能,對于腦子比手快的同學來說,Eclipse是一種折磨。如果有Java的高手,請教一下如何加快速度。

另外一點,Eclipse的默認字體,對中文不友好,VS則好很多。

2.泛型

泛型則是Java的一個槽點。擦除法害死人。

下面的技術問題,如果有覺得錯誤的地方,請一定指出。

C# 的泛型,根據不同的類型參數,產生不同的新的匿名類,Java則只是編譯階段,假裝有泛型的概念。

    ArrayList<Integer> c = new  ArrayList<Integer>();    c.remove(1);    c.remove((Object)1);

現在集中吐槽一下上面這段代碼。

一個列表的話,刪除元素,C#會有一個 Remove 和 一個RemoveAt,前者表示要刪除指定的元素,后者表示刪除指定下標的元素。

然后,如果你在代碼里面寫c.remove(1); Java的動作是刪除下標為1的元素。。

這里主要的問題是,當初Java在設計的時候,沒有考慮到通過下標刪除或者直接刪除兩種需求,所以沒有將RemoveAt和Remove區別起來.

當然,這樣就造成了Remove(Integer)的時候,會出現歧異,為了消除歧義,又需要將Integer或者其他泛型類型強制轉為Object.

在C#里面,由于具有RemoveAt方法,完整的泛型支持,所以Remove方法后面直接跟上要Remove的東西即可,這里是需要注意的一個點.

3 基本類型

            int a = 1;            Int32 b = 2;

int 和 Int32,在C#里面是同一個類型(當然都是值類型,保存在棧上面的)

C# Via CLR里面也說過這件事情,int 是Int32的別名.(如果這個想法有錯誤,希望大家指出)

            List<int> t = new List<int>();            List<Int32> m = new List<int>();

所以在C#里面這樣寫是可以的.

在Java里面,int 和 Integer 可是涇渭分明:

int 表示基礎類型,Integer表示類,在泛型的時候,只能用Integer.

這里的區別我不是很清楚,int 好像就是一個簡單的存放數字的東西,也沒有什么方法可以使用.

    ArrayList<Integer> c = new  ArrayList<Integer>();

所以,Java里面,類型參數T 看上去也沒有C#靈活。

4.Java沒有Struct概念

本質上說Class和Struct在業務上差不多。只是 Class在堆上,Struct在棧上,一個是引用傳遞,一個是值傳遞。

一般來說,一個 輕的結構,貧血模型,我喜歡用Struct,一個 重的結構,充血模型,我喜歡用Class。

Java,很抱歉,沒有Struct,解決方案是Class,或者是內部Class。。

為什么Struct不能在Java里面實現,是設計使然,還是技術問題,我不知道。

5.Java的枚舉

這里倒不是吐槽Java枚舉功能上的問題,而是,Enum這個玩藝,還要依賴于JDK版本的。

JDK1.5以上才行,如果你的工程JDK版本過低,Enum都不支持。

C#里面的Enum應該是全Framework支持的,(現在都找不到NET2.0以前的Framework了,無法驗證1.0,1.1,記憶中是支持的。)

為什么說到這個問題呢,有一次帶學生做實驗,Eclipse里面新建了一個工程,也沒有選擇JDK版本,使用了默認的低版本的JDK,然后,呵呵,

Enum這么簡單的東西,都編譯不過。學藝不精阿。。。

Enum的值,本質是一個數字,Enum則是一個結構,Java的Enum是什么呢?

6.字符串

            String A = "Hello";            String B = "Hello";            System.Console.WriteLine(A == B);            System.Console.ReadLine();

C#里面是True。Java里面也是True。

(Java里面A和B的地址指向同樣的地方?C#字符串駐留了。)

            String a = new string('a', 10);            String b = new string('a', 10);            Console.WriteLine(a == b);            Console.ReadLine();

這個在C#里面也是True,比較地址,由于NET的神秘的字符串駐留機制,其實兩個String指向同樣的地方。

String A = new String("Hello");String B = new String("Hello");Boolean C = (A==B);

這里是False,Java真正的比較了兩個地址,兩個地址是不同的。如果真的要比較,請用諸如Boolean C = (A.equals(B)); 這樣的方法。

誰來說說Java 的字符串機制。

7.市場和前途

做了很多人力資源的工作,感覺NET在國內沒有Java火。

日本的話,NET有項目,但是大部分還是Java。

NET和Java的頂尖高手人數差不多,但是中低水平的人,Java占據大部分,理由還是就業需要。

真正的高手,NET和Java使用起來都應該很熟練的,算法業務才是重點,語言只是工具。

千萬別在回復里面討論語言的好壞,我們沒有資格。

歡迎指出技術上的問題和硬傷,或者補充一些我沒有列舉的區別。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
2019日本中文字幕| 日韩中文在线中文网在线观看| 日韩国产激情在线| 久久久女女女女999久久| 亚洲国产99精品国自产| 色综久久综合桃花网| 992tv成人免费视频| 久99久在线视频| 欧美精品手机在线| 97视频在线观看播放| 亚洲国产精品资源| 亚洲图片欧美午夜| 91精品国产成人www| 欧美亚洲另类视频| 97免费中文视频在线观看| 懂色av中文一区二区三区天美| 国产精品入口日韩视频大尺度| 亚洲国产精品成人av| 久久精品中文字幕电影| 91手机视频在线观看| 精品久久久国产| 国产狼人综合免费视频| 久久久亚洲精选| 欧美最猛性xxxxx(亚洲精品)| 久久久久中文字幕2018| 尤物九九久久国产精品的分类| 国产精品丝袜视频| 九色精品免费永久在线| 国产精品草莓在线免费观看| 亚洲最新av在线网站| 久久久www成人免费精品张筱雨| 亚洲天堂男人天堂女人天堂| 日韩精品中文字幕在线| 国产一区二区三区高清在线观看| 亚洲欧美国产高清va在线播| 国产精品日韩av| 伊人成人开心激情综合网| 欧美性xxxx极品hd欧美风情| 亚洲日本中文字幕免费在线不卡| 亚洲精品视频久久| 日韩av免费在线观看| 69影院欧美专区视频| 久久久久久香蕉网| 日韩av免费看网站| 成人美女免费网站视频| 欧美日韩中国免费专区在线看| 原创国产精品91| 2021国产精品视频| 欧美精品久久久久a| 欧美精品免费播放| 97精品伊人久久久大香线蕉| 久久精品欧美视频| 欧日韩不卡在线视频| 亚洲老板91色精品久久| 成人性教育视频在线观看| 91国内揄拍国内精品对白| 久久久精品免费| 中文字幕亚洲综合| 成人美女av在线直播| 日日摸夜夜添一区| 黄色一区二区在线| 成人免费观看49www在线观看| 亚洲奶大毛多的老太婆| 亚洲精品国精品久久99热一| 欧美精品一区二区免费| 不卡av在线网站| 一本一道久久a久久精品逆3p| 97超碰色婷婷| 久久久久久久一区二区| 庆余年2免费日韩剧观看大牛| 亚洲精选中文字幕| 福利一区视频在线观看| 亚洲电影免费观看| 97免费视频在线播放| 国产va免费精品高清在线观看| 亚洲电影在线观看| 国产伦精品一区二区三区精品视频| 欧美在线视频观看免费网站| 日韩av免费在线观看| 亚洲精品国精品久久99热| 欧美高清性猛交| 91网站在线免费观看| 精品国产91久久久| 另类美女黄大片| 国产成人jvid在线播放| 亚洲电影免费观看高清完整版在线观看| 国产精品久久久久久久久久免费| 亚洲天堂免费视频| 欧美一区二区色| 亚洲成人三级在线| 欧美夫妻性生活xx| 国内精品久久久久久久| 国产精品视频26uuu| 日韩在线视频播放| 久久综合国产精品台湾中文娱乐网| 亚洲女同性videos| 一区二区在线视频| 亚洲va男人天堂| 一本色道久久综合狠狠躁篇怎么玩| 国产精品日韩精品| 亚洲色图色老头| 蜜臀久久99精品久久久无需会员| 欧美又大又粗又长| 欧美成aaa人片在线观看蜜臀| 97在线观看免费| 亚洲高清久久久久久| 日本久久久a级免费| 97超碰蝌蚪网人人做人人爽| 岛国av一区二区在线在线观看| 在线中文字幕日韩| 亚洲成人亚洲激情| 日韩成人中文电影| 久久久伊人欧美| 日韩av一区二区在线| 97成人超碰免| 亚洲自拍在线观看| 国产亚洲福利一区| 亚洲欧美国产日韩天堂区| 久久综合伊人77777尤物| 日韩在线免费高清视频| 中文字幕亚洲欧美一区二区三区| 日韩精品福利在线| 欧美高清理论片| 欧美黑人一区二区三区| 日韩在线观看电影| 俺去啦;欧美日韩| 欧美激情精品久久久久久变态| 日韩欧美a级成人黄色| 亚洲人成伊人成综合网久久久| 亚洲精品欧美日韩专区| 久久久久久亚洲精品中文字幕| 亚洲国产精品人人爽夜夜爽| 欧美视频在线观看免费网址| 国产亚洲福利一区| 国产欧美日韩视频| 午夜精品蜜臀一区二区三区免费| 欧美激情在线有限公司| 成人网址在线观看| 国产在线精品播放| 欧美日韩在线观看视频| 在线播放精品一区二区三区| 色妞久久福利网| 成人国产精品久久久久久亚洲| 啪一啪鲁一鲁2019在线视频| 亚洲一级免费视频| 久久久999成人| 高清日韩电视剧大全免费播放在线观看| 日韩黄色高清视频| 久热国产精品视频| 国产精品成人在线| 国产精品wwwwww| 国内免费精品永久在线视频| 国产精品青草久久久久福利99| 成人在线播放av| 日韩av一卡二卡| 欧美极品少妇xxxxⅹ喷水| 国产精品视频免费在线| 欧美激情综合亚洲一二区| 欧美亚洲伦理www| 成人性生交大片免费观看嘿嘿视频| 国产精品96久久久久久| 尤物九九久久国产精品的分类| 国产精品久久77777| 成人午夜黄色影院|