effective-java

    0熱度

    3回答

    下面的代碼將返回總和爲x的整數對,例如:if arr {1,2,3,4,5]並且x是7,那麼list應該包含{3,4}和{2,5} 。主要目標是瞭解如何以私有方法執行參數驗證。問題嵌套在評論中,請僅對提出的問題提出建議。感謝您在代碼中檢查我的問題。 public static List<Pair> getPairsFromPositiveArray(int[] arr, int x) {

    9熱度

    3回答

    我正在閱讀關於泛型的有效Java第5章,尤其是關於更喜歡泛型方法的項。我注意到有時省略了返回類型之前的方法聲明中的類型參數(在尖括號之間)。有很多情況下這樣,但例如第二版第135頁: public void popAll(Collection<E> dst) { while (!isEmpty()) dst.add(pop()); } 在另一方面,我已經看到了在聲明類似泛型方法 是第一位

    -1熱度

    4回答

    我正在閱讀Effective Java Item 9,並決定自行運行示例代碼。但它的工作原理略有不同,具體取決於我如何插入一個新的對象,我不明白到底發生了什麼。該******中國一流的樣子: public class PhoneNumber { private final short areaCode; private final short prefix; private final s

    41熱度

    4回答

    在「Effective Java,2nd edition」一書的第2部分,有這段代碼,其中作者想要禁止對象的空初始化。 class Example { private Example() { throw new AssertionError(); } } 拋出異常的類型是什麼讓我困惑在這裏。 我不明白AssertionError是否因爲缺少更適合的錯誤或因爲它

    3熱度

    3回答

    在大多數情況下,當我們編寫一個工廠方法時,它是一系列可以持續增長的條件。寫這種方法最有效的方法是什麼(至少具有if條件)? public A createA(final String id) { if (id.equals("A1")) { return new A1(); } else if (id.equals("A2")) { retur

    0熱度

    2回答

    在有效的Java類AbstractList中的removeRange方法,更說明 ,removeRange方法不感興趣,列表末尾 實現的用戶。僅爲了便於子類 提供有關子列表的快速清除方法而提供。在沒有 removeRange方法的情況下,當在子列表上調用clear方法或從頭重寫 整個subList機制時,子類將不得不使用二進制 性能 - 這不是一件容易的事情! 請看看這個link。最後一段。它說在

    2熱度

    2回答

    Effective Java - Item-2 states 期間不一致, 一個JavaBean可以是不一致的狀態在中途經過它的結構。 我不明白這一點,如果對象是一個方法的構建,怎麼會是去不一致的,如果有異常發生,可以在構造函數中出現過。這與線程有什麼關係?

    4熱度

    1回答

    我在讀這本書的第二版,第36頁。我不明白的解決simmetry問題: @override public boolean equals(Object o) { return o instanceof CaseInsensitiveString && ((CaseInsensitiveString) o).s.equalsIgnoreCase(s); } 如果我有和Stri

    1熱度

    1回答

    我在讀有效的Java項目#2 Builder模式 http://www.informit.com/articles/article.aspx?p=1216151&seqNum=2 據說這裏說的Java bean不是創建具有多個參數的對象的有效途徑。 但如果我有JavaBean的是這樣的: // JavaBeans Pattern public class NutritionFacts { pr

    0熱度

    1回答

    有效的java說明使用assert來驗證私有函數的參數。如果一個方法是一個公共方法,那麼如果一個null是一個無效參數,那麼該方法應該拋出一個NPE。 如: public void foo (Sting str) { char[] ch = str.toCharArray(); } 在上面的代碼,我們不需要一個明確的檢查,以確保str爲空,或者不作爲null.toCharArray