我目前正在使用Java和MySQL,並且發現了一個我不知道如何解決的問題。Java&MySQL:存儲讀取bitarray的365位置。怎麼樣?
我有一個類存儲一個365位置的字符串,表示一個二進制字符串「010111010010100 ...」,我希望能夠從數據庫中存儲和讀取該字段。 一旦它被讀取,我將執行一個AND邏輯操作與另一個bitarray。
我讀了BitSet類,它允許它們之間的邏輯運算符(AND,OR,XOR,...)。我嘗試過,但我不喜歡我得到的解決方案。我也可以嘗試將字符串轉換爲字節數組,然後將其從數據庫中存儲並讀取,以便稍後執行邏輯AND操作,但不確定是否需要始終創建一個BitSet,以及如何執行它是。
我不知道這是做什麼我想最高效的方式:
- 將二進制字符串轉換中的另一個元素。
- 將該元素存儲在數據庫中(在BitSet的情況下,我試圖將Database字段定義爲BLOB,但是我有很多問題將BitSet轉換爲BLOB並將BLOB讀取到BitSet)。
- 從數據庫中讀取元素(在這一點上,如果不進行任何轉換或轉換,直接使用元素將非常有用)。
- 用另一個bitarray執行邏輯AND並得到結果。
我已經嘗試了很多選擇,但他們沒有工作。
有人可以幫助我解決這個問題,以及如何從性能角度更好地處理它?
謝謝!
那麼,我的第一點是,我必須轉換另一種類型的字符串。問題是,它是365位長,我不能被存儲在一個龍,所以它必須被存儲爲一個不同的方式,... – CristianSantos
然後把它放入一個字節或東西陣列? (int j = 0; j <8; j ++) (string [i + j] ==「1」?byte [0124] j] | = 0x01:byte [j] | = 0x00); byte [j] << = 1; } 或類似的東西。 – kry