可以简化这个条件语句吗?

Possible to simplify this conditional statement?

是否可以使用&&或||,甚至&或|来简化下面的语句?或者 ^?

int result = A ? (B ? 1 : -1) : (B ? -1 : 1);

我相信我可以像这样分配一个临时变量:

boolean C = B ? A : !A; // Also: is it correct that this can be simplified to !(A ^ B)?

然后做:

int result = C ? 1 : -1;

但我很好奇如果没有临时变量是否可行。

你似乎已经有了答案。

int result = !(A ^ B) ? 1:-1