開源一個我的Java工具類集合,幫你簡化開發工作
更新時間:Feb 12, 2018
在當初剛接觸Java時,感覺有時候想找實現一些小功能,但是找不到已實現的簡易工具,要麼就是這種有相關功能的庫,呼叫起來特別複雜。我呢,是個特別討厭把簡單的事弄複雜的那種人,如果能通過呼叫一個函式就解決的問題,我是絕對不願意呼叫更多一個函式處理這些問題的。
因此,在這樣的指導思想下,我把以前參加的很多工程專案,可以重複使用的部分集合成一個工程專案,專案工程放在Github上。專案的開發和整理時間前後間隔了快有2年了吧,這中間也刪刪改改了很多東西,現在打算推出來給有興趣的朋友使用,也希望大家在使用的時候,能提出一些意見或者推送一些修改,幫助我一起完善這個工程。
先介紹下這個工程JUtils
如何使用?
首先使用Git把倉庫拷貝到本地:
git clone https://github.com/seagochen/JUtils.git
由於工程是使用Eclipse進行管理的,所以你需要在本地安裝一個Eclipse,並且在Eclipse上匯入這個工程。工程有使用一些其他第三方的庫,可能會在未來自己編寫庫用於替代這些第三方庫,但當前如果你匯入工程後發現編譯提示缺少依賴的Jar檔案,那麼你需要重新編輯和引用在libs資料夾下的這些第三方依賴庫。
通過Eclipse釋出命令,可以生成Jar包,或者直接引入到你的工程中,我個人比較推薦使用第二種方法。
使用方法:
其實沒什麼特別的要求,目前工程是使用JDK 1.8進行編譯的,因此一些語法或函式,可能只有在1.8+以上版本才會正常使用,除此之外沒什麼需要注意的地方。
以ArrayUtils這個類為例,它是一個用來把byte串進行拆分的工具。比如,你將兩段話合併成在一段記憶體中,需要在某個處理環節,將資料重新拆分出來。那麼就需要使用到這個工具了。
public static void main(String[] args) { byte[] data = { 'h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd' }; List<byte[]> slices = ArrayUtils.split(data, 0, 0, 5); System.out.println(SocketConvert.getString(slices.get(0))); System.out.println(SocketConvert.getString(slices.get(1))); }
這樣,就可以快速將helloworld,直接拆分為hello和world兩個完全獨立的資料單元了。
SocketConvert,是一個用於將常見資料進行轉換的工具類,比如將int資料,轉換為4個byte,或者將byte轉換回Int的工具,資料儲存格式以0x1234 -> 0x34 0x12的大端形式進行儲存,為了配合這樣的儲存方式,我自己實現了另一個ByteBuffer類,提供的功能與Java自帶的ByteBuffer一致,而且簡化了一些函式命令。
其他的一些功能就不詳說了,畢竟本人比較懶,你可以Clone下工程後,看看具體的程式碼實現就行,程式碼裡複雜的呼叫比較少,應該都是比較容易看明白的。