Java 如何检查TarachiveEntry是否设置了3个执行位中的任何一个?

Java 如何检查TarachiveEntry是否设置了3个执行位中的任何一个?,java,bit-manipulation,apache-commons-compress,Java,Bit Manipulation,Apache Commons Compress,在commons compress TarArchiveEntry中,可以使用getMode()请求模式,但这会返回一个int 检查是否设置了任何执行位(用户、组、所有人)的最佳方法是什么?可以一次完成,一次检查所有三位: static boolean isExecutable(int mode) { return (mode & 0111) != 0; } 其中0111是一个八进制文字,非常罕见,因此作为一个更清晰但更长的替代: static boolean isExecut

在commons compress TarArchiveEntry中,可以使用getMode()请求模式,但这会返回一个int


检查是否设置了任何执行位(用户、组、所有人)的最佳方法是什么?

可以一次完成,一次检查所有三位:

static boolean isExecutable(int mode) {
    return (mode & 0111) != 0;
}
其中
0111
是一个八进制文字,非常罕见,因此作为一个更清晰但更长的替代:

static boolean isExecutable(int mode) {
    int mask = 1 | (1 << 3) | (1 << 6);
    return (mode & mask) != 0;
}
静态布尔值可执行(int模式){

int mask=1 |(1可以一次完成,一次检查所有三位:

static boolean isExecutable(int mode) {
    return (mode & 0111) != 0;
}
其中
0111
是一个八进制文字,非常罕见,因此作为一个更清晰但更长的替代:

static boolean isExecutable(int mode) {
    int mask = 1 | (1 << 3) | (1 << 6);
    return (mode & mask) != 0;
}
静态布尔值可执行(int模式){
int mask=1 |(1