SonarLint | Short-circuit logic should be used in boolean contexts (java:S2178)

這問題指的是在做邏輯運算時,如果只有使用一個|或一個&,通常都是誤用:

if (test1() | test2()){
// skip
}
即使程式碼實際上有照你預期進入block或沒進入block,但當test1()是true時,其實test2()還是會強制被執行的。

只要把一個|改成||即可,這樣如果test1()是true,就會直接執行block中的程式碼:

if (test1() || test2()){
// skip
}