Java 如何为字节数组赋值

Java 如何为字节数组赋值,java,bytearray,Java,Bytearray,这是一个错误。请告诉我正确的方法。使用char[]或String。确保并获取字符串的includes。这是一个字符串文本。如果要获取字符串的二进制表示形式,请使用string.getBytes方法之一。如果要分配硬编码值,可以使用: byte abc[]="204.29.207.217"; 注意强制转换,因为Java字节是有符号的——这里的强制转换基本上会将溢出强制为负值,这可能是您想要的 如果你真的想解析一个字符串,你需要这样做——把字符串分成几个部分,然后解析每个部分 如果您试图在某些特定

这是一个错误。请告诉我正确的方法。

使用char[]或String。确保并获取字符串的includes。

这是一个字符串文本。如果要获取字符串的二进制表示形式,请使用
string.getBytes
方法之一。

如果要分配硬编码值,可以使用:

byte abc[]="204.29.207.217";
注意强制转换,因为Java字节是有符号的——这里的强制转换基本上会将溢出强制为负值,这可能是您想要的

如果你真的想解析一个字符串,你需要这样做——把字符串分成几个部分,然后解析每个部分

如果您试图在某些特定编码下将字符串转换为其二进制表示形式,则应使用
string.getBytes
,例如

byte[] bytes = { (byte) 204, 29, (byte) 207, (byte) 217 };

(请注意,
[]
通常作为变量类型的一部分,而不是放在变量名称之后。虽然后者是允许的,但由于样式问题,不鼓励使用。)

是否将
(字节)128
导致
-1
?我总是对它感到困惑。我知道它将在C++中工作(除了使用<代码> char < />代码>而不是<代码>字节< />代码>,但是我对java不太肯定。@马提恩:不,<代码>(字节)128 < /代码>将导致-128。代码>(字节)255将导致-1。@Martijn
byte
在Java中是一个8位有符号整数,其范围从-128到+127。它是以格式存储的。哦,是的!我的意思确实是
(字节)255
。谢谢。可能是第二份
byte[] abc = "204.29.207.217".getBytes("UTF-8");