国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

自動(dòng)裝箱 Java為什么要有泛型?

Java為什么要有泛型?java里的泛型是奇葩的存在。這也是我經(jīng)常懟java的一個(gè)原因。先說(shuō)下泛型的主要作用:1,強(qiáng)化類型安全,比如定義了一個(gè)List<String>,那么里面只能存放String,不

Java為什么要有泛型?

java里的泛型是奇葩的存在。這也是我經(jīng)常懟java的一個(gè)原因。

先說(shuō)下泛型的主要作用:

1,強(qiáng)化類型安全,比如定義了一個(gè)List<String>,那么里面只能存放String,不允許存放其他類型(派生自String的除外)。類型安全應(yīng)該在編譯和運(yùn)行時(shí)都能體現(xiàn)。

2,提高性能,減少類型轉(zhuǎn)換和裝箱拆箱次數(shù)。

再說(shuō)下java泛型奇葩之處:

1,java泛型實(shí)現(xiàn)的原理叫類型擦除,不管代碼中怎么定義泛型,編譯后都變成object, 因此不能實(shí)現(xiàn)運(yùn)行時(shí)的類型安全。 而且java編譯器不夠聰明,可以很容易騙過(guò)去。 舉個(gè)例子,你調(diào)用了第三方的接口返回List<String>,但實(shí)際拿到的值里面可能跟String沒(méi)有半毛錢關(guān)系。

2,既然類型被擦除,那么類型轉(zhuǎn)換就不可避免了,因此使用泛型和非泛型在性能上沒(méi)有任何變化。

java編程用什么工具?

本人的工作是軟件測(cè)試,每天都和開(kāi)發(fā)打交道。服務(wù)過(guò)幾個(gè)公司,開(kāi)發(fā)們用的工具無(wú)非如下幾種:

1.eclipse,不但開(kāi)源免費(fèi)還可支持多種插件和語(yǔ)言。



2.svn,是一個(gè)開(kāi)源的版本控制系統(tǒng)。多個(gè)人開(kāi)發(fā)同一個(gè)項(xiàng)目可以共用資源,合并代碼。




3.git,也是一個(gè)開(kāi)源的版本控制系統(tǒng),所不同的是它是分布式的。而且更加的高效。我們現(xiàn)在的項(xiàng)目正在由vn逐漸向git遷移。



4.genkins,開(kāi)源的軟件項(xiàng)目,是基于java開(kāi)發(fā)的一種持續(xù)集成工具。最主要的功能是可以持續(xù)的軟件版本發(fā)布,每次開(kāi)發(fā)完或是改完bug都可以快速地部署。

5.文本編輯器,比如notepa 還有UE異都是很好用的代碼編輯器。這個(gè)就看個(gè)人使用偏好了。

以上,是一般公司java開(kāi)發(fā)常用的軟件。

寫回答不易,點(diǎn)個(gè)贊再走唄。