小编Mat*_*och的帖子

如何包装Java枚举并仍然迭代它?

我怎么能有一个抽象枚举,或某种基本枚举?

在我的通用代码中,我想要一个枚举占位符MyRetems的概念,而不是将自己与具体的枚举联系起来.然后在我的每个项目中,我都会有一个具体的实现.

例如共同代码

public interface MyItems {
    // Marker interface
}
Run Code Online (Sandbox Code Playgroud)

项目A.

public enum Items implements MyItems {
     RED_CAR, BLUE_CAR, GREEN_CAR;
}
Run Code Online (Sandbox Code Playgroud)

项目B.

public enum Items implements MyItems {
    BROWN_TREE, GREEN_TREE;
}
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但在我的公共代码中,我不能在我的接口枚举上写一个循环,因为它不是枚举.在我的常用代码中,我想写

for (MyItems item : MyItems.values())
    doSomething(item);
Run Code Online (Sandbox Code Playgroud)

但我不能,因为我的界面只是一个标记界面,它没有.values().

任何建议都非常感谢.我不知道我是否完全以错误的方式尝试.

java enums

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

malloc在mprotect之后导致分段错误

我用mprotect()保护内存区域后第一次调用malloc()时出现了分段错误.这是一个代码片段,它为内存分配提供了保护:

#define PAGESIZE 4096
void* paalloc(int size){   // Allocates and aligns memory
        int type_size =  sizeof(double);
        void* p;
        p = malloc(type_size*size+PAGESIZE-1);
        p = (void*)(((long) p + PAGESIZE-1) & ~(PAGESIZE-1));
        return p;
}
void aprotect(int size, void* array){  // Protects memory after values are set
        int type_size = sizeof(double);
        if (mprotect(array, type_size*size, PROT_READ)) {
                perror("Couldn't mprotect");
        }
}
Run Code Online (Sandbox Code Playgroud)

我想使用mprotect来避免写入我的数组(这是预先计算的正弦/余弦值).这是一个愚蠢的想法吗?

c malloc posix memory-management

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

非矩形CSS图像链接

我有以下要求:

大图像包含几个需要链接到其他页面的"热点".听起来很简单.我创建了一个简单的html页面,一个带有背景图像的div和使用CSS与图像精灵翻转的绝对定位链接.

但是,我现在已经看到了另一个图像,热点不是方形,而是不规则的形状.在一个示例中,它们类似于冲浪板.任何想法我如何获得链接只响应图像的实际边界框.还有一些情况,"热点"是平行四边形的,并且彼此相邻.

在这种情况下创建矩形图像只是无法达到所需的结果.

我认为图像映射可能是一种解决方案,但我希望首先探索所有替代方案.

希望这是有道理的.

html css xhtml image

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

从谷歌获取Jquery

有一些教程建议使用来自谷歌的jquery路径,例如:

<script type="text/javascript" 
 src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

在我们的项目中使用是否安全?

我们不依赖,因为我们不确定它会在一年或更长时间后存在吗?

我之所以提出这个问题,是因为有些人支持这个问题.

javascript jquery remote-access

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

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

JTS LineString.getLength() 使用哪个单位

我试图找出 JTS LineString.getLength() 返回哪个单元。

例如:

LineString foo = (initialize line string somehow)
foo.getLength() -> 7.025667228118838E-4
Run Code Online (Sandbox Code Playgroud)

这些是公里?,米?,英尺?

java jts

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

使用SharpSVN如何将文件导出到内存而不是文件系统?

所以我知道如何导出文件@文件系统的某些修订(因为导出的所有重载都有路径)但我不想使用文件系统来方便访问.有没有办法将其重定向到字符串或什么?谢谢.

.net c# redirect export sharpsvn

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

通过pthread_create传递struct指针的问题

在下面的代码中,当我f->msg在main函数中打印时,数据打印正确.但是,如果我传入mystruct*f pthread_create并尝试打印出msg值,我会在receive_data函数的第二行出现分段错误.

typedef struct _mystruct{
    char *msg;
} mystruct;

void *receive_data(void* vptr){
    mystruct *f = (mystruct*)vptr;
    printf("string is %s\n",mystruct->msg);
    return NULL;
}

int main(){
    mystruct *f = malloc(sizeof(mystruct));
    f->msg = malloc(1000);
    f->msg[0] = '\0';
    strcpy(f->msg,"Hello World");
    pthread_t worker;
    printf("[%s]\n",f->msg);
    // attr initialization is not shown
    pthread_create(&worker,&attr,receive_data,&f);
}
Run Code Online (Sandbox Code Playgroud)

未显示pthread的其他初始化代码.

我该如何解决这个问题?

c pthreads

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

如何仅作为地图操作的结果返回truthy值

我在下面有一个函数来返回元音.但是我想只返回真值,我该怎么做?

(map #{\a \e \i \o \u} (seq (char-array "Hello"))) => (nil \e nil nil \o)
Run Code Online (Sandbox Code Playgroud)

clojure

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

Redis INCR并发

我正在使用Redis' INCR为对象生成ID.然后使用ZADDID作为键添加对象.

我是否需要担心是否有多个连接执行同一个代码块?说后id:12,如果两个连接在同一时间连接,并添加都使用对象id:13,然后其中一人将失去.

concurrency block blocking redis

3
推荐指数
2
解决办法
1325
查看次数