小编Sup*_*ker的帖子

Java Iterator是否保留对链表元素的引用?

我需要一个列表来在应用程序中保存Enemy类的几个元素.这将作为一个对象池来提高效率,因为这个特定的类本来会被实例化并经常被杀掉.

到目前为止,我可能会使用链表,因为将非活动元素放到列表末尾非常有用.我的问题如下 - 在Java中,Iterator是否通过保持对它的引用(对于链表)提供对它正在访问的当前元素的直接访问,或者迭代到下一个元素需要迭代器从头开始循环(即不能提高效率,比如一个for循环,它总是需要回到链接列表的开头)?

从C的角度来看,我的问题是Iterator是否包含指向它正在访问的当前元素的指针,这样它就不必从头开始循环获取访问权限.

我对此做了一些研究,但我找不到答案.

java pointers iterator object

5
推荐指数
1
解决办法
2147
查看次数

将NULL char写入C中的文件

我正在尝试将一个char数组写入C中的BMP文件.这个问题是,虽然文件需要0x00值,但是当写入文件时,似乎C将其解释为字符串的结尾,即为NULL焦炭.有什么方法可以覆盖这个并让C完全依赖于我说的是我希望通过的char数量?

将头写入文件的代码(该函数在main中执行);

void writeFile(void){
    unsigned char bmp1[54] = {
    0x42, 0x4D, 0x36, 0x00, 
    0x0C, 0x00, 0x00, 0x00, 
    0x00, 0x00, 0x36, 0x00, 
    0x00, 0x00, 0x28, 0x00, 
    0x00, 0x00, 0x00, 0x02, 
    0x00, 0x00, 0x00, 0x02, 
    0x00, 0x00, 0x01, 0x00, 
    0x18, 0x00, 0x00, 0x00, 
    0x00, 0x00, 0x00, 0x00, 
    0x0C, 0x00, 0x00, 0x00, 
    0x00, 0x00, 0x00, 0x00, 
    0x00, 0x00, 0x00, 0x00, 
    0x00, 0x00, 0x00, 0x00, 
    0x00, 0x00
    };

    FILE *picFile = fopen("pic.bmp","w");
    fprintf(picFile, bmp1, 54);
    fclose(picFile);
}
Run Code Online (Sandbox Code Playgroud)

c string hex file nul

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

访问修饰符,基本上是私有的,但可以由儿童访问

在Java中,有没有办法让一个访问修饰符基本上是私有的,除了这个方法可以被孩子访问?我正在开发一个程序,其中有一些方法是某个类的孩子需要的(并且希望避免重复),但我不想公开,因为我不希望这些幼稚类的对象是实例化以访问这些方法.

如果没有这样的事情,你们会建议在这个问题上实现最佳实践?

优选地,在同一包装中 - protected不满足此要求.

java object access-modifiers

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

标签 统计

java ×2

object ×2

access-modifiers ×1

c ×1

file ×1

hex ×1

iterator ×1

nul ×1

pointers ×1

string ×1