相关疑难解决方法(0)

在Java中,我可以用二进制格式定义整数常量吗?

类似于如何定义十六进制或八进制的整数常量,我可以用二进制来完成吗?

我承认这是一个非常简单(和愚蠢)的问题.我的谷歌搜索空洞.

java syntax binary

84
推荐指数
6
解决办法
8万
查看次数

使用java枚举实现位域

我维护一个大型文档存档,我经常使用位字段来记录处理期间或验证文档时的状态.我的遗留代码只使用静态int常量,例如:

static int DOCUMENT_STATUS_NO_STATE = 0
static int DOCUMENT_STATUS_OK = 1
static int DOCUMENT_STATUS_NO_TIF_FILE = 2
static int DOCUMENT_STATUS_NO_PDF_FILE = 4
Run Code Online (Sandbox Code Playgroud)

通过设置适当的标志,可以很容易地指示文档所处的状态.例如:

status = DOCUMENT_STATUS_NO_TIF_FILE | DOCUMENT_STATUS_NO_PDF_FILE;
Run Code Online (Sandbox Code Playgroud)

由于使用静态常量的方法是不好的做法,并且因为我想改进代码,所以我希望使用Enums来实现相同的目标.有一些要求,其中之一是需要将状态作为数字类型保存到数据库中.因此需要将枚举常量转换为数值.以下是我的第一种方法,我想知道这是否是正确的方法呢?

class DocumentStatus{

    public enum StatusFlag {

        DOCUMENT_STATUS_NOT_DEFINED(1<<0),
        DOCUMENT_STATUS_OK(1<<1), 
        DOCUMENT_STATUS_MISSING_TID_DIR(1<<2),
        DOCUMENT_STATUS_MISSING_TIF_FILE(1<<3),
        DOCUMENT_STATUS_MISSING_PDF_FILE(1<<4),
        DOCUMENT_STATUS_MISSING_OCR_FILE(1<<5),
        DOCUMENT_STATUS_PAGE_COUNT_TIF(1<<6),
        DOCUMENT_STATUS_PAGE_COUNT_PDF(1<<7),
        DOCUMENT_STATUS_UNAVAILABLE(1<<8);


        private final long statusFlagValue;

        StatusFlag(long statusFlagValue) {
            this.statusFlagValue = statusFlagValue;
        }

        public long getStatusFlagValue(){
            return statusFlagValue;
        } 

       }


    /**
     * Translates a numeric status code into a Set of StatusFlag enums
     * @param numeric statusValue 
     * @return …
Run Code Online (Sandbox Code Playgroud)

java enums enumset

38
推荐指数
5
解决办法
3万
查看次数

Java Permutation和布尔标志的组合

我有一些布尔变量将作为参数传递

boolean var1;
boolean var2;
boolean var3;
boolean var4;
Run Code Online (Sandbox Code Playgroud)

根据这些变量,我必须编写类似这样的代码

if (var1 && !var2 && !var3 && !var4) {
  //do something
}
elsif (var1 && var2 && !var3 && !var4) {
  //do something
}
Run Code Online (Sandbox Code Playgroud)

...等等..使用所有可能的组合.我可以使用if-else语句来做到这一点.需要知道是否有更好的方法.提前致谢.

java

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

标签 统计

java ×3

binary ×1

enums ×1

enumset ×1

syntax ×1