如何檢查數(shù)組(未排序)是否包含某個值?這是 Java 中非常有用且經(jīng)常使用的操作。這也是 Stack Overflow 上投票最多的問題。如投票最多的答案所示,這可以通過幾種不同的方式完成,但時(shí)間復(fù)雜度可能大不相同。下面我將展示每種方法的時(shí)間成本。
Java 添加的?java.util.Optional?非常的受歡迎,并為總是不能返回非null值的方法提供了更流暢的代碼。很不幸的是,?Optional?已被濫用,一種濫用,甚至已被過度使用。當(dāng)與直接使用相比?null?沒有明顯優(yōu)勢時(shí),我偶爾會遇到使用?Optional的代碼。
JavaScript 世界提供了有用且有趣的 Web 框架,這是毫無疑問的。對于 Java 開發(fā)人員,有一個有趣的替代方案——開源Vaadin框架。有了它,您可以僅使用 Java 編程語言輕松地為 Web實(shí)現(xiàn)圖形用戶界面(GUI)。無需編寫一行 HTML 或 JavaScript。
這聽起來像是您永遠(yuǎn)不需要的東西,但有時(shí),當(dāng)您分發(fā)最終用戶軟件時(shí),您可能需要安裝 Java 程序作為 Windows 服務(wù)。一個很少人擁有的重要先決條件——擁有一個捆綁的 JRE,所以沒有人必須下載和安裝一個JRE(會使安裝過程不必要地復(fù)雜化,并且目標(biāo)受眾不一定精通技術(shù))。