2014-03-18 126 views
0

它們看起來與java.util相對應。 在一個項目中,我必須檢查這些apis是否被使用,並且存在一個外部jar。谷歌番石榴圖書館的目的是什麼?

但是......它們和java.util中的不同呢?

+2

_They似乎相同的java.util counterpart_ - 你好像還沒有比較,任何偉大的深度 – Reimeus

+0

否2,確實......我就決定,如果我需要他們還是可以節省一些空間/扶養。從代碼看來,我可以用java.util替換所有的東西。所以我問他們有什麼不同,他們帶來了什麼優勢 – Phate

+2

好吧,試試吧;一旦你測試了它,你將會很難做到這一點。 FWIW,Java 8中的很多新接口出現在Guava中(例如'Function','Predicate','Supplier')。當然,Java 8仍然缺乏不可變的集合。 – fge

回答

6

番石榴庫,很像Apache Commons libraries,旨在補充核心Java庫,如Philosophy Explained document概述:

番石榴全線Java項目生產力的倍增器:我們的目標是使在Java語言中工作更愉快,更高效。 JDK公用程序,例如Collection API,已經被廣泛採用,並且已經顯着簡化了所有Java代碼。我們希望繼續這一傳統。

那文章接着解釋他們是如何知道你能實現他們提供以填補核心API自己在空白的程序,但相信有許多優點,使用他們的代碼:

  • 番石榴在Google的生產中已經過戰鬥測試。
  • 番石榴的單元測試數量驚人:截至2012年7月,番石榴測試包 包括超過286,000個人測試用例。其中大部分是自動生成的, 不是手寫的,但番石榴的測試覆蓋率非常全面,特別是對於 com.google.common.collect
  • 番石榴正處於積極的發展階段,擁有強大的聲音和涉及的用戶羣。
  • 回想起來,最好的圖書館似乎顯而易見,但實現這種狀態是非常具有挑戰性的 。