午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

【findBugs】findBugs對(duì)Integer.valueOf()的報(bào)錯(cuò)一類不必要的裝箱轉(zhuǎn)換

 老星果子 2018-09-04
      版權(quán)聲明:本文為博主原創(chuàng)文章,基于學(xué)習(xí)目的非盈利可以轉(zhuǎn)載,表明出處即可。 https://blog.csdn.net/qq_37192800/article/details/82017526

findBugs工具警告的,一類不必要的裝箱轉(zhuǎn)換:

“Boxing/unboxing to parse a primitive”, A boxed primitive is created from a String, just to extract the unboxed primitive value. It is more efficient to just call the static parseXXX method

“用于基本類型的裝箱/拆箱”,把String解析成基本類型的包裝類,如果只是為了獲得String的數(shù)值大小。調(diào)用靜態(tài)parseXXX方法更有效


例子:

int projectNumber = Integer.valueOf(strNumber) 1

Integer.valueOf返回一個(gè)Integer,而不是一個(gè)int,但是projectNumber變量期望獲得一個(gè)int值。Findbugs警告你,你正在做一個(gè)“漫長(zhǎng)”的裝箱拆箱操作,涉及潛在地創(chuàng)建一個(gè)Integer實(shí)例,多余的對(duì)象,然后通過傳遞這個(gè)Integer對(duì)象再拆箱獲得值,例如:

String => int => Integer => int
         ----------------
                \ ---這是在Integer.valueOf中123

既然是想得到值,直接從String -> int就好了。

String => int
--------------
      \ --- Integer.parseInt

修改后的代碼:int projectNumber = Integer.parseInt(strNumber) 12345

解決的問題

沒有必要進(jìn)行臨時(shí)Integer和潛在的內(nèi)存分配。
如果是Integer projectNumber = Integer.valueOf(strNumber),就沒有警告,因?yàn)檫@Integer對(duì)象正是你想傳遞給projectNumber實(shí)例。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多