原创 Leetcode(78)之子集

問題描述: 給定一組不含重複元素的整數數組 nums,返回該數組所有可能的子集(冪集)。 說明:解集不能包含重複的子集。 示例: 輸入: nums = [1,2,3] 輸出: [ [3], [1],

原创 Effective-Java(Item 4)之給非實例類設置一個私有構造器

只由靜態字段和靜態方法組成的類,像工具類,這些類不能被實例化,只通過類直接調用靜態方法和使用靜態字段,就將該類的構造方法設爲私有的,jdk中java.util.Arrays、java.util.Collections和java.lan

原创 Effective-Java(Item 38)之檢查參數的有效性

傳進方法的參數遵循數組下標必須爲非負整數,引用對象不能爲空等原則; 如果不對傳進的參數判斷有效性,導致出現錯誤結果,通常需要花費很多時間去發現錯誤; 檢查參數的有效性必須在方法體的開始處執行; 對於公有方法(api中方法)可以使用th

原创 Effective-Java(Item 41)之小心地使用重載

先說一下重載與重寫的區別,很多人會把這兩個概念混淆: 1.重載是靜態的,發生在compile時期,由編譯時類型決定調用方法,通常出現在=號左邊的爲編譯時類型,如Collection<?>[] collections = {};中編譯時

原创 Effective-Java(Item 42)之小心地使用可變參數

可變參數是爲printf設計的,在jdk1.5時加入jdk中; 調用時自動根據參數數量創建一個數組,將參數值放入數組中,並將該數組傳入包含可變參數的方法,使用時可以像數組一樣使用可變參數; 使用方法: 參數個數爲0或更多時,使用如下:

原创 計算日期爲周幾(蔡勒公式應用)

最近一個項目中需要用到日曆功能,計算出給定日期(某個月的第一天)是周幾,這裏用到了蔡勒公式,需要注意的問題: 問題一: 某年的1、2月計算時要看作上一年的13、14月來計算,比如2003年1月1日要看作2002年的13月1日來計算 問

原创 UML類圖關係記憶公式

UML類圖關係:實現、泛化、聚合、組合、關聯、依賴 三角形爲實現和泛化,其中虛線爲實現 菱形爲聚合和組合,其中空心爲聚合 箭頭爲關聯和依賴,其中虛線爲依賴 詳情參考這裏

原创 EnumSet源碼分析

EnumSet: 1.定義: 添加枚舉類元素的專用集合類 2.與其他集合類區別: EnumSet內部實現不使用常見的數據結構,比如數組(ArrayList),鏈表(LinkedList),哈系表(HashMap、Hasht

原创 equals和hashCode書寫原則

equals: 判斷this對象與anObject對象是否相等(this == anObject) 判斷anObject對象是否爲類或其子類對象(anObject instanceof String) 比較類中屬性是否相等   基本

原创 文件系統與數據庫系統區別

本文從結構性、數據共享、數據獨立、數據冗餘介紹文件系統與數據庫系統區別: 文件系統把數據組織成相互獨立的數據文件,實現了記錄內的結構性,但整體無結構;而數據庫系統實現整體數據的結構化,也是數據庫系統與文件系統的本質區 文件系

原创 css中div居中對齊

div整個塊居中對齊: <div style="margin:0px auto;"></div> div中內容居中:<div align="center"></div>或<div style="text-align:center;

原创 java基本數據類型定義

1.下面正確的是() A、double d = 6; B、double d = 3.2E3; C、double d = 3.2; D、double d = 1.2D; E、long n = 23L; 答案ABCDE都是正確的 2.

原创 java類(包含父類)創建對象時初始化順序

創建順序如下: 父類靜態成員(包括方法和變量,按順序初始化) 子類靜態成員(包括方法和變量,按順序初始化) 父類成員變量(包括非靜態代碼塊) 父類構造方法 子類成員變量(包括非靜態代碼塊) 子類構造方法 驗證代碼: // 主類,用

原创 java中%運算符

以前學c語言時就接觸過%取模運算符,要求是%運算符兩邊必須爲整數; 最近做一道java筆試題(如下)時,卻發現浮點數能作爲操作數 // 輸出運行結果 public class Test3{ public static void ma

原创 String str = "ab" +"cd";共創建幾個對象

代碼片段1: String str1 = "ab"; String str2 = "ab"; //str1==str2 爲true 代碼片段2: String str3 = new String("ab"); String str4