Java操作员:|=
我只是在一些源代码中遇到了下面这行代码Java操作员:|=,java,operators,Java,Operators,我只是在一些源代码中遇到了下面这行代码 int sequ |= element.sequence 运算符|=是什么意思?我以前没见过。=|是一个,类似于+=,-=,/=或*=,但以位或代替 这相当于: sequ = (int) (sequ | element.sequence); 其中,|是按位OR运算,意味着它独立地将左操作数中的所有位与右操作数中的位进行OR运算,以获得结果。如果元素。sequence已经是int,则不需要强制转换 注意:您的原始代码没有意义: 你不能当场申报,也不能用别
int sequ |= element.sequence
运算符|=是什么意思?我以前没见过。=|
是一个,类似于+=,-=
,/=
或*=
,但以位或代替
这相当于:
sequ = (int) (sequ | element.sequence);
其中,|
是按位OR运算,意味着它独立地将左操作数中的所有位与右操作数中的位进行OR运算,以获得结果。如果元素。sequence
已经是int
,则不需要强制转换
注意:您的原始代码没有意义:
你不能当场申报,也不能用别的东西申报。它需要在之前声明和分配,例如:
int sequ = 0; /* or some other value */
sequ |= element.sequence;
=|
是一个类似于+=
、-=
、/=
或*=
的符号,但改为按位或
这相当于:
sequ = (int) (sequ | element.sequence);
其中,|
是按位OR运算,意味着它独立地将左操作数中的所有位与右操作数中的位进行OR运算,以获得结果。如果元素。sequence
已经是int
,则不需要强制转换
注意:您的原始代码没有意义:
你不能当场申报,也不能用别的东西申报。它需要在之前声明和分配,例如:
int sequ = 0; /* or some other value */
sequ |= element.sequence;
它是以下内容的缩写:
int sequ = sequ | element.sequence;
类似于+=
,-=
,只是它是按位或运算符。它是以下内容的缩写:
int sequ = sequ | element.sequence;
类似于+=
,-=
,除了它是按位或运算符。表示int-sequ=sequ |元素。sequenceUse用于搜索类似的内容,请参阅此处的运算符列表表示int-sequ=sequ |元素。sequenceUse用于搜索类似的内容,请参见@WalterM中的运算符列表,根据,E1 op=E2
是(T)((E1)op(E2))
,这与我所说的几乎相同,可能是转换为LHS类型。如果您实际上谈论的是在element.sequence不是int时强制转换为int,那么最好留下一条不那么神秘的注释。另外,为了回答“如果它们真的相等,那么我们为什么需要两者?”,为什么我们需要+=
,那么,如果我们可以手动分配总和?@WalterM根据,E1 op=E2
是(T)((E1)op(E2))
,这与我所说的几乎相同,可能是对LHS类型的转换。如果您实际上谈论的是在element.sequence不是int时强制转换为int,那么最好留下一条不那么神秘的注释。此外,为了回答“如果它们真的相等,那么我们为什么需要两者?”,如果我们可以手动分配总和,为什么我们需要+=
?