Java 运算符|用于int值

Java 运算符|用于int值,java,eclipse,rcp,Java,Eclipse,Rcp,我认为这是java中的一个基本问题,但很抱歉,我在stackoverflow中询问 我将在EclipseRCP中给出一个示例。例如,如果我想创建文本实例(swt Text),我将执行以下操作: Text text = new Text(composite, SWT.BORDER | SWT.MULTI); 在第二个参数文本中,它是一种int样式,我希望文本是边框,可以是多行,所以我添加了SWT.border | SWT.multi(将使用运算符|) 现在的问题是,例如,我在Text类中添加了一

我认为这是java中的一个基本问题,但很抱歉,我在stackoverflow中询问

我将在EclipseRCP中给出一个示例。例如,如果我想创建文本实例(swt Text),我将执行以下操作:

Text text = new Text(composite, SWT.BORDER | SWT.MULTI);
在第二个参数文本中,它是一种int样式,我希望文本是边框,可以是多行,所以我添加了SWT.border | SWT.multi(将使用运算符|)


现在的问题是,例如,我在Text类中添加了一个getStyle()方法的变量int style。但我想检查SWT.MULTI是否已设置,如何存档?谢谢

您的解决方案是按位&运算符

if (myText.getStyle() & SWT.MULTI){
 //whatever
}

您的解决方案是按位&运算符

if (myText.getStyle() & SWT.MULTI){
 //whatever
}

另外,如果您将SWT.MULTI添加到已经使用SWT.MULTI进行样式设置的东西中,它不会损坏任何东西。看看这篇文章,了解一下SWT是如何使用位运算符的:您需要一个
!=0
在那里ifs需要布尔表达式。是的,谢谢。我之前已经用上面的代码检查过了,但是当我使用SWT.MULTI时,结果是2(与SWT.MULTI相同),当不使用SWT.MULTI时,结果是0。这是正确的对不起,是的,为了代码的清晰,如果没有其他我会放一个!=0。此外,如果您将SWT.MULTI添加到已使用SWT.MULTI设置样式的内容中,则不会损坏任何内容。看看这篇文章,了解一下SWT是如何使用位运算符的:您需要一个
!=0
在那里ifs需要布尔表达式。是的,谢谢。我之前已经用上面的代码检查过了,但是当我使用SWT.MULTI时,结果是2(与SWT.MULTI相同),当不使用SWT.MULTI时,结果是0。这是正确的对不起,是的,为了代码的清晰,如果没有其他我会放一个!=0。愚蠢的问题从不存在:pStupid问题从不存在:p