java - 使用 arraycopy 结果错误

标签 java arrays

我正在尝试将两个字节数组复制到另一个中。问题是结果 Byte 的第一个元素很奇怪,我得到 0xFFFFFF80 而不是 0x80。 我正在使用的代码是:

    this.IC_SUBMIT_APDU = new byte[13];
    byte[] prefix = {
        (byte) 0x80,
        (byte) 0x20,
        (byte) 0x07,
        (byte) 0x00,
        (byte) 0x08
    };
    System.arraycopy(prefix , 0, this.IC_SUBMIT_APDU, 0, prefix.length);

    for(int i=0; i<this.IC_SUBMIT_APDU.length ; i++)
        System.out.println("" + Integer.toHexString(this.IC_SUBMIT_APDU[i]));

当我给出这个论点时:

{
    (byte) 0x41,
    (byte) 0x43,
    (byte) 0x4F,
    (byte) 0x53,
    (byte) 0x54,
    (byte) 0x45,
    (byte) 0x53,
    (byte) 0x54
}

它产生以下结果:

ffffff80
20
7
0
8
0
0
0
0
0
0
0
0

为什么我会得到 0xFFFFFF80 ?我不应该得到0x80吗??

最佳答案

0xFFFFFF80 超过一个字节。 0xFFFFFF 部分可能来自您未显示的不同打印语句。

关于java - 使用 arraycopy 结果错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43981491/

相关文章:

java - 如何为Azure托管服务指定elasticsearch spring boot配置(无端口)

java - Thread中List的内存范围

java - 使用 Java+Hibernate+DB2 获得正确的别名映射的挑战

php - 使用 PHP 计算数组中特定值的出现次数

php - in_array 的随机错误

java - 如何从 eclipse url 中删除项目名称?

java - 将字符串格式的空值从 iBatis 传递到 Postgres DB 中的整数值

arrays - 如何在 Swift 数组中存储游戏关卡对象?

Python:将分组均值分配给一维数组

arrays - 如何使用属性观察器观察具有 Swift 集合类型的特定元素?