最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中Integer.valueOf,parsetInt() String.valueOf的區(qū)別和結(jié)果代碼解析

 更新時間:2018年05月22日 08:49:41   作者:quyf  
本文通過代碼給大家講解了JAVA中Integer.valueOf, parsetInt() String.valueOf的區(qū)別和結(jié)果,需要的朋友可以參考下

先來看段代碼

public class IntegerDemo {
  public static void main(String[] args) {
    String num = null;
    System.out.println( Integer.parseInt(num));// Exception java.lang.NumberFormatException
    System.out.println( Integer.valueOf(num));// Exception java.lang.NumberFormatException
    System.out.println( String.valueOf(num)); //輸出null
    num = "";
    System.out.println( Integer.parseInt(num)); // Exception java.lang.NumberFormatException
    System.out.println( Integer.valueOf(num)); // Exception java.lang.NumberFormatException
    System.out.println( String.valueOf(num));//空串,啥也不輸出
  }
}

先看一下 String.valueOf() 里面是怎么寫的

String.valueOf() 在遇到 null 和 空串的情況下 ,都能正常輸出,所以不拋錯

再來看下 包裝類型 Integer里面又是如何處理的

這兩個方法里面都需要先 parseInt( s,10),就是將字符串s先轉(zhuǎn)成  十進(jìn)制的 int基本類型,,但是 valueOf()會根據(jù)int范圍從[-127,127]的內(nèi)部緩存中去?。ㄓ玫皆O(shè)計模式中的 享元模式)

一起來看下 parseInt(s, 10),,在方法里面會判斷字符串是否是合法的數(shù)字,會去校驗(yàn)null, 空串等其他格式,所以會拋錯

 public static int parseInt(String s, int radix)
        throws NumberFormatException
  {
    /*
     * WARNING: This method may be invoked early during VM initialization
     * before IntegerCache is initialized. Care must be taken to not use
     * the valueOf method.
     */
    if (s == null) {
      throw new NumberFormatException("null");
    }
    if (radix < Character.MIN_RADIX) {
      throw new NumberFormatException("radix " + radix +
                      " less than Character.MIN_RADIX");
    }
    if (radix > Character.MAX_RADIX) {
      throw new NumberFormatException("radix " + radix +
                      " greater than Character.MAX_RADIX");
    }
    int result = 0;
    boolean negative = false;
    int i = 0, len = s.length();
    int limit = -Integer.MAX_VALUE;
    int multmin;
    int digit;
    if (len > 0) {
      char firstChar = s.charAt(0);
      if (firstChar < '0') { // Possible leading "+" or "-"
        if (firstChar == '-') {
          negative = true;
          limit = Integer.MIN_VALUE;
        } else if (firstChar != '+')
          throw NumberFormatException.forInputString(s);
        if (len == 1) // Cannot have lone "+" or "-"
          throw NumberFormatException.forInputString(s);
        i++;
      }
      multmin = limit / radix;
      while (i < len) {
        // Accumulating negatively avoids surprises near MAX_VALUE
        digit = Character.digit(s.charAt(i++),radix);
        if (digit < 0) {
          throw NumberFormatException.forInputString(s);
        }
        if (result < multmin) {
          throw NumberFormatException.forInputString(s);
        }
        result *= radix;
        if (result < limit + digit) {
          throw NumberFormatException.forInputString(s);
        }
        result -= digit;
      }
    } else {
      throw NumberFormatException.forInputString(s);
    }
    return negative ? result : -result;
  }

總結(jié)

以上所述是小編給大家介紹的Java中Integer.valueOf,parsetInt() String.valueOf的區(qū)別和結(jié)果代碼解析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • java輸入空行結(jié)束問題

    java輸入空行結(jié)束問題

    這篇文章主要介紹了java輸入空行結(jié)束問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 談?wù)凥ashmap的容量為什么是2的冪次問題

    談?wù)凥ashmap的容量為什么是2的冪次問題

    這篇文章主要介紹了談?wù)凥ashmap的容量為什么是2的冪次問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 解決idea2020 maven無法自動導(dǎo)包的問題

    解決idea2020 maven無法自動導(dǎo)包的問題

    這篇文章主要介紹了解決idea2020 maven無法自動導(dǎo)包的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java中的注解機(jī)制Annotation詳解

    Java中的注解機(jī)制Annotation詳解

    這篇文章主要介紹了Java中的注解機(jī)制Annotation詳解,  Java Annotation 是 Java 語言中的一種 元數(shù)據(jù)機(jī)制,它可以在代碼中添加額外的信息,以便于程序的理解和處理,Annotation 可以用來描述類、方法、屬性等各種程序的特性,需要的朋友可以參考下
    2023-10-10
  • Java代碼注釋規(guī)范(動力節(jié)點(diǎn)整理)

    Java代碼注釋規(guī)范(動力節(jié)點(diǎn)整理)

    代碼注釋是架起程序設(shè)計者與程序閱讀者之間的通信橋梁,最大限度的提高團(tuán)隊(duì)開發(fā)合作效率。也是程序代碼可維護(hù)性的重要環(huán)節(jié)之一。下面通過本文說一下我們在日常開發(fā)中使用的代碼注釋規(guī)范
    2017-03-03
  • java如何利用NIO壓縮文件或文件夾

    java如何利用NIO壓縮文件或文件夾

    這篇文章主要介紹了java如何利用NIO壓縮文件或文件夾問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java多線程下解決資源競爭的7種方法詳解

    Java多線程下解決資源競爭的7種方法詳解

    這篇文章主要介紹了Java多線程下解決資源競爭的7種方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • java 用遞歸獲取一個目錄下的所有文件路徑的小例子

    java 用遞歸獲取一個目錄下的所有文件路徑的小例子

    還是日志的問題,log4j生成的日志文件,自動保存到月份所在的文件夾中,需要獲取到所有的日志文件,包括文件夾
    2013-09-09
  • java中Sources目錄Resources目錄的區(qū)別解讀

    java中Sources目錄Resources目錄的區(qū)別解讀

    這篇文章主要介紹了java中Sources目錄Resources目錄的區(qū)別解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 關(guān)于dubbo的超時處理及重試原則

    關(guān)于dubbo的超時處理及重試原則

    這篇文章主要介紹了關(guān)于dubbo的超時處理及重試原則,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論

宜春市| 东阳市| 北安市| 化德县| 金溪县| 托克逊县| 绥江县| 阳朔县| 凭祥市| 泰宁县| 杂多县| 祁阳县| 凌源市| 北川| 黔江区| 开江县| 万荣县| 安化县| 遵化市| 平南县| 宁安市| 莱州市| 夏邑县| 弥渡县| 大宁县| 察雅县| 梧州市| 桓台县| 乌拉特后旗| 连江县| 屯昌县| 进贤县| 建始县| 奎屯市| 邵武市| 普宁市| 阿尔山市| 武穴市| 德庆县| 砚山县| 天台县|