簡體   English   中英

在條件語句中使用Boolean_val與Boolean.TRUE(Boolean_val)

[英]Boolean_val vs Boolean.TRUE(Boolean_val) when used in a conditional statement

(1.8+)中,以下兩個if語句之間存在性能差異。 我的代碼必須在迭代中進行很多此類調用。

void test(final Boolean val) {
    if (val) {
        ...
    }
}

void test(final Boolean val) {
    if (Boolean.TRUE.equals(val) {
        ...
    }
}

JIT編譯器會優化差異嗎? 開箱是否比equals方法調用貴?

拆箱等於val.booleanValue() ,因此JIT應該能夠內聯這種方法。

Boolean.TRUE.equals(val)看起來更好的是null安全性,因為對null值進行自動裝箱將導致NullPointerException

也可以看看:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM