亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Java中將任何對象轉換為字節數組

在Java中將任何對象轉換為字節數組

LEATH 2019-10-26 12:52:40
我有一個X類型的對象,我想在將其發送到S3之前將其轉換為字節數組。有人可以告訴我該怎么做嗎?我感謝您的幫助。
查看完整描述

3 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

是的 只需使用二進制序列化即可。您必須使用每個對象,implements Serializable但是從那里開始很簡單。


如果要避免實現Serializable接口,您的另一種選擇是使用反射,并使用以下過程來對緩沖區進行數據讀寫:


/** 

 * Sets all int fields in an object to 0.

 *

 * @param obj The object to operate on.

 *

 * @throws RuntimeException If there is a reflection problem.

 */

 public static void initPublicIntFields(final Object obj) {

    try {

       Field[] fields = obj.getClass().getFields();

       for (int idx = 0; idx < fields.length; idx++) {

          if (fields[idx].getType() == int.class) {

              fields[idx].setInt(obj, 0);

          }

       }

    } catch (final IllegalAccessException ex) {

       throw new RuntimeException(ex);

    }

 }


查看完整回答
反對 回復 2019-10-26
?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

正如我在其他類似問題中提到的那樣,您可能需要考慮壓縮數據,因為默認的Java序列化有點冗長。您可以通過在對象流和字節流之間放置一個GZIPInput / OutputStream來實現。


查看完整回答
反對 回復 2019-10-26
  • 3 回答
  • 0 關注
  • 816 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號