java - 是否可以在java类文件中存储字节数组(原始数据)?

标签 java constants bcel .class-file

我正在使用Apache BCEL动态创建 Java 类,每个类都有自己的关联图像。这些生成的类实现以下接口(interface):

interface ImageOwner {

    byte[] getImage();

}

当动态实现“getImage”方法时,我可以生成字节码以在调用该方法时创建/返回字节数组,但如果可能的话,我宁愿只返回对字节数组的引用。是否可以将原始数据存储在 java 类文件中?

最佳答案

我真的不确定这里,因为这似乎是一个太简单的问题,但为了完整性,这将做我认为你想做的事情:

public class ImageOwnerImpl implements ImageOwner {

    // A literal byte array. Tedious, but you could write code
    // to auto-generate this source from a file
    private byte[] imageByteArray = new byte[] { -128, 127, ...etc };

    public byte[] getImage() {
        return imageByteArray;
    }
}

这是一个文字字节数组,它回答了“如何在类文件中存储字节”的问题。

大多数人会在运行时在构造函数中从文件加载图像字节,但是您可能有一些特殊的需要需要这种方法

关于java - 是否可以在java类文件中存储字节数组(原始数据)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9852283/

相关文章:

c++ - 包含 shared_ptr 的对象的常量正确性

java - 是否可以直接从java类文件的Constant_Method_REF获取java.lang.reflection.Method?

java - 使用 BCEL 生成的解析字节码确定对象之间的传出耦合(CBO 指标)

java - 如何在属性文件中维护 Gradle 构建的项目和依赖项 jar 版本?

java - 在Java中的类中声明数组的正确方法是什么

java - 最新的Android开发者设置指南?

c++ - Const 方法访问静态变量

java - 创建同一个类的实例时,出现类的 noClassDefFoundError 错误。为什么会这样?

java - HtmlUnit 类转换异常 : TextPage cannot be cast to HtmlPage

java - 为什么内部类不能使用静态初始化器?