Java 我该如何看待第一个“问题”;";字节数组的元素,并将它们直接转换为字符串?

Java 我该如何看待第一个“问题”;";字节数组的元素,并将它们直接转换为字符串?,java,string,byte,bytearray,Java,String,Byte,Bytearray,我有一个由1024个元素组成的字节数组。我想将其分解为不同的字符串私有成员(例如,名称的前9个字节,用户ID的后12个字节,等等) 不必将整个字节数组转换为字符串,然后使用子字符串方法,是否有任何方法可以将数组中的一系列字节直接转换为类的私有成员 例如 使用: 如果要从头开始,其中start将为0使用String构造函数: public String(byte bytes[], int offset, int length, Charset charset) 例如: myObject.name

我有一个由1024个元素组成的字节数组。我想将其分解为不同的字符串私有成员(例如,名称的前9个字节,用户ID的后12个字节,等等)

不必将整个字节数组转换为字符串,然后使用子字符串方法,是否有任何方法可以将数组中的一系列字节直接转换为类的私有成员

例如

使用:


如果要从头开始,其中
start
将为0

使用
String
构造函数:

public String(byte bytes[], int offset, int length, Charset charset)
例如:

myObject.name = new String(byteArr, 0, 10, Charset.defaultCharset())

请记住,字节和字符在Java中是不同的类型,您应该使用
Charset
类指定正确的转换,以避免意外的结果。

阅读文档有时会非常有帮助。
public String(byte bytes[], int offset, int length, Charset charset)
myObject.name = new String(byteArr, 0, 10, Charset.defaultCharset())