小编Ped*_*iro的帖子

如何使用sun-codemodel生成匿名类?

我正在尝试使用codemodel生成下面的代码,但我不知道如何创建匿名类语法.我在codemodel文档中找不到它(https://codemodel.java.net/nonav/apidocs/index.html?com/sun/codemodel)

ContentProducer cp = new ContentProducer() {
    public void writeTo(OutputStream outstream) {
        try {
            Writer writer = new OutputStreamWriter(outstream, "UTF-8");
            writer.write("<product><descricao>Update de descricao</descricao></product>");
            writer.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

我可以使用下面的代码来实例化变量"ContentProducer",但我不知道如何在构造函数旁边实现writeTo方法.

JClass ContentProducer = events.ref(org.apache.http.entity.ContentProducer.class);
JVar contentProducer = tryBlock.body().decl(ContentProducer, "contentProducer").init(JExpr._new(ContentProducer));
Run Code Online (Sandbox Code Playgroud)

java sun-codemodel

2
推荐指数
1
解决办法
616
查看次数

为什么我的变量不指向同一个数组?

我有两节课.具有array(ArrayStorage)和另一个(ArrayConsumer)的一个只有一个变量,它将作为数组的简单引用.

我使用添加一个新元素到数组$my_array.然后我检查一下新元素是否可见$obtained_array.但是测试失败了,因为它无法找到新元素.他们表现得像是不同的阵列.他们不应该指向相同的阵列吗?

public function testArrayMadness() {
        $arrayStorage = new ArrayStorage();
        $my_array = $arrayStorage->getArray();

        $arrayConsumer = new ArrayConsumer($my_array);
        $obtained_array = $arrayConsumer->getArray();

        $my_array[3]='c';
        $this->assertContains('c', $obtained_array);
    }
}
class ArrayStorage {
    private $my_array=[1=>'a',2=>'b'];
    function getArray() { return $this->my_array; }
}
class ArrayConsumer {
    private $obtained_array;
    function __construct($array) { $this->obtained_array=$array; }
    function getArray() { return $this->obtained_array; }
}
Run Code Online (Sandbox Code Playgroud)

更新: 我在Java测试中做了同样的事情,它给了我一个indexOutOfBoundsException.这是否意味着php和java在这方面的工作方式相同,或者我的代码有问题吗?

@Test
    public void testArrayMadness() {
        ArrayStorage arrayStorage = new ArrayStorage();
        List<String> my_list = arrayStorage.getList();

        ArrayConsumer arrayConsumer …
Run Code Online (Sandbox Code Playgroud)

php java arrays

0
推荐指数
1
解决办法
58
查看次数

标签 统计

java ×2

arrays ×1

php ×1

sun-codemodel ×1