Integer.parseInt()和Integer.valueOf()的區別

new Integer.valueof()返回的是Integer的對象。
Integer.parseInt() 返回的是一個int的值。
new Integer.valueof().intValue();返回的也是一個int的值。

 

parseInt

public static int parseInt(String s, int radix) throws NumberFormatException

以第二個參數所指定基數將字符串參數分析爲一個帶符號的整數。除了第一個字符可以用 ASCII 的減號 '-' 來表示一個負值外,字符串中的字符必須是指定基數的數(由 Character.digit 是否返回非負值決定)。返回作爲結果的整數值。

 

參數:

s - 包含整數的 String 。

radix - 使用的進制

返回值:

指定基數的字符串參數所表示的整數。

拋出: NumberFormatException

若該串不包含一個可分析的整數。

parseInt

public static int parseInt(String s) throws NumberFormatException

將字符串參數作爲帶符號十進制整數來分析。除過第一個字符爲 ASCII 字符中減號 '-' 表示的負數,字符串中的字符都必須是十進制數。

 

參數:

s - 串。

返回值:

十進制參數表示的整數。

拋出: NumberFormatException

若該串不包含一個可分析的整數。

valueOf

public static Integer valueOf(String s, int radix) throws NumberFormatException

返回初始化爲指定 String 值的新的 Integer 對象。若該 String 不能作爲 int 分析,則拋出異常。

 

參數:

s - 待分析的字符串。

返回值:

新創建的 Integer ,將其以指定基數初始化爲字符串參數所表示的值。

拋出: NumberFormatException

若 String不包含可分析的整數。

valueOf

public static Integer valueOf(String s) throws NumberFormatException

返回初始化爲指定 String 值的新的 Integer 對象。若該 String 不能作爲 int 分析,則拋出異常。假設基數爲 10 。

 

參數:

s - 待分析的字符串。

返回值:

新創建的 Integer ,將其初始化爲字符串參數所表示的值。

拋出: NumberFormatException

如果該串不包含一個可分析的整數。

 

 

static int parseInt(String s)
          將字符串參數作爲有符號的十進制整數進行分析。

static Integer valueOf(int i)
          返回一個表示指定的 int 值的 Integer 實例。
static Integer valueOf(String s)
          返回保持指定的 String 的值的 Integer 對象。

從返回值可以看出他們的區別   parseInt()返回的是基本類型int
而valueOf()返回的是包裝類Integer  Integer是可以使用對象方法的  而int類型就不能和Object類型進行互相轉換

int zhuan=Integer.parseInt(chuan);
int zhuanyi=Integer.valueOf(chuan); 爲什麼你的程序返回值都可以用int來接收呢?  因爲Integer和int可以自動轉換
Integer i = 5;   int k  = i;像是這樣表示是沒有編譯錯誤的

 


例題:

設有下面兩個賦值語句:
a = Integer.parseInt(“123”);
b = Integer.valueOf(“123”).intValue();
下述說法正確的是(  d  )。
A、a是整數類型變量,b是整數類對象。
B、a是整數類對象,b是整數類型變量。
C、a和b都是整數類對象並且值相等。 
D、a和b都是整數類型變量並且值相等。

詳細解析:
parseInt(String s )方法是類Integer的靜態方法,它的作用就是將形參 s 轉化爲整數,比如:
Interger.parseInt("1")=1;
Integer.parseInt("20")=20;
Integer.parseInt("324")=324;
當然,s 表示的整數必須合法,不然是會拋異常的。
valueOf(String s )也是Integer類的靜態方法,它的作用是將形參 s 轉化爲Integer對象,
什麼是Integer對象,Integer就是基本數據類型int型包裝類,就是將int包裝成一個類,這樣在很多場合下是必須的。如果理解不了,你就認爲int是Integer的mini版,好用了很多,但也丟失了一些功能,好了,看代碼:
Interger.valueOf("123")=Integer(123)
這時候Integer(123)就是整數123的對象表示形式,它再調用intValue()方法,就是將123的對象表示形式轉化爲基本數據123
所以,選擇D

                    <li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#csdnc-thumbsup"></use>
                    </svg><span class="name">點贊</span>
                    <span class="count">2</span>
                    </a></li>
                    <li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;popu_824&quot;}"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#icon-csdnc-Collection-G"></use>
                    </svg><span class="name">收藏</span></a></li>
                    <li class="tool-item tool-active is-share"><a href="javascript:;"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#icon-csdnc-fenxiang"></use>
                    </svg>分享</a></li>
                    <!--打賞開始-->
                                            <!--打賞結束-->
                                            <li class="tool-item tool-more">
                        <a>
                        <svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
                        </a>
                        <ul class="more-box">
                            <li class="item"><a class="article-report">文章舉報</a></li>
                        </ul>
                    </li>
                                        </ul>
            </div>
                        </div>
        <div class="person-messagebox">
            <div class="left-message"><a href="https://blog.csdn.net/oppo62258801">
                <img src="https://profile.csdnimg.cn/D/7/3/3_oppo62258801" class="avatar_pic" username="oppo62258801">
                                        <img src="https://g.csdnimg.cn/static/user-reg-year/2x/6.png" class="user-years">
                                </a></div>
            <div class="middle-message">
                                    <div class="title"><span class="tit"><a href="https://blog.csdn.net/oppo62258801" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}" target="_blank">oppo62258801</a></span>
                                        </div>
                <div class="text"><span>發佈了64 篇原創文章</span> · <span>獲贊 148</span> · <span>訪問量 61萬+</span></div>
            </div>
                            <div class="right-message">
                                        <a href="https://bbs.csdn.net/forums/p-oppo62258801" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-messageboard">他的留言板
                    </a>
                                                        <a class="btn btn-sm  bt-button personal-watch" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}">關注</a>
                                </div>
                        </div>
                </div>
發佈了103 篇原創文章 · 獲贊 25 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章