解析接口信息时需要先解析出接口的数量,然后就可以遍历出所有的接口名称索引值了。

    1. u2 interfaces_count;
    2. u2 interfaces[interfaces_count];

    接口解析代码片段:

    1. // u2 interfaces_count;
    2. this.interfacesCount = dis.readUnsignedShort();
    3. // 创建接口Index数组
    4. this.interfaces = new String[interfacesCount];
    5. // u2 interfaces[interfaces_count];
    6. for (int i = 0; i < interfacesCount; i++) {
    7. int index = dis.readUnsignedShort();
    8. // 设置接口名称
    9. this.interfaces[i] = (String) getConstantPoolValue(index);
    10. }

    解析结果:

    1. {
    2. "interfacesCount": 1,
    3. "interfaces": [
    4. "java/io/Serializable"
    5. ]
    6. }