首页 > 解决方案 > 在Java中将泛型类型值转换为字节数组

问题描述

背景

建立以下班级

public class DerivedClass<T> extends BaseClass<T> {
    
      @Override
      public void invoke(T value, Context context) throws Exception {
                //Send data to Kafka
                // Need to covert to byte[]
      }
}

问题

不确定这是否有意义,但需要将此值转换为字节数组,例如在字符串的情况下,可以使用getBytes()方法。如何做到这一点?

标签: javaarraysgenerics

解决方案


getBytes() 是一种特定于 String 的方法,因此您需要一种更通用的方法来将对象(不仅仅是字符串)转换为 Byte 数组。这篇文章似乎解释了如何做到这一点:https ://stackoverflow.com/a/2836659/6630965 。

我相信这只能在实现 Serializable 的对象上完成,因此您可能希望在泛型类型中指定它,如下所示:

DerivedClass<T extends Serializable>

推荐阅读