Java將字符串String轉(zhuǎn)換為整型Int的兩種方式
Java 如何將String轉(zhuǎn)化為Int
在 Java 中要將 String 類型轉(zhuǎn)化為 int 類型時(shí),需要使用 Integer 類中的 parseInt() 方法或者 valueOf() 方法進(jìn)行轉(zhuǎn)換.
例1:
String str = "123"; try { ? ? int a = Integer.parseInt(str); } catch (NumberFormatException e) { ? ? e.printStackTrace(); }
例2:
String str = "123"; try { ? ? int b = Integer.valueOf(str).intValue() } catch (NumberFormatException e) { ? ? e.printStackTrace(); }
在轉(zhuǎn)換過程中需要注意,因?yàn)樽址锌赡軙?huì)出現(xiàn)非數(shù)字的情況,所以在轉(zhuǎn)換的時(shí)候需要捕捉處理異常
附錄:Java將字符串String轉(zhuǎn)換為整型Int
用法
在java中經(jīng)常會(huì)遇到需要對(duì)數(shù)據(jù)進(jìn)行類型轉(zhuǎn)換的場(chǎng)景,String類型的數(shù)據(jù)轉(zhuǎn)為Int類型屬于比較常見的場(chǎng)景,主要有兩種轉(zhuǎn)換方法:
1. 使用Integer.parseInt(String)方法
2. 使用Integer.valueOf(String)方法
具體demo如下:
public void convert() { // 1.使用Integer.parseInt(String) String str1 = "31"; Integer num1 = Integer.parseInt(str1); System.out.print("字符串31轉(zhuǎn)換為數(shù)字:"); System.out.println(num1); // 2.使用Integer.valueOf(String) String str2 = "32"; Integer num2 = Integer.valueOf(str2); System.out.print("字符串32轉(zhuǎn)換為數(shù)字:"); System.out.println(num2); }
執(zhí)行結(jié)果:
根據(jù)執(zhí)行結(jié)果可見,兩種方式都能完成字符串到整型的轉(zhuǎn)換。
注意點(diǎn)
但需要注意的是,使用這兩種方法都有一個(gè)前提,那就是待轉(zhuǎn)換字符串的內(nèi)容必須為純數(shù)字。
不難發(fā)現(xiàn)上面demo中的待轉(zhuǎn)換字符串都是"31"、"32"這種由純數(shù)字組成的字符串,如果待轉(zhuǎn)字符串中出現(xiàn)了除數(shù)字以外的其他字符,則程序會(huì)拋出異常。
如下demo所示,在字符串中加入小寫英文字母,并用try-catch語句包裹代碼段以捕捉會(huì)出現(xiàn)的異常。(因?yàn)槲覀円呀?jīng)知道,帶字母的字符串轉(zhuǎn)換為整型會(huì)出現(xiàn)數(shù)字格式轉(zhuǎn)換的異常,所以選擇catch NumberFormatException)
public void convert() { // 1.Integer.parseInt(String) try { String str1 = "31a"; Integer num1 = Integer.parseInt(str1); System.out.print("字符串31a轉(zhuǎn)換為數(shù)字:"); System.out.println(num1); } catch (NumberFormatException e) { System.out.println("Integer.parseInt(String)方法執(zhí)行異常"); e.printStackTrace(); } // 1.Integer.valueOf(String) try { String str2 = "32b"; Integer num2 = Integer.valueOf(str2); System.out.print("字符串32b轉(zhuǎn)換為數(shù)字:"); System.out.println(num2); } catch (NumberFormatException e) { System.out.println("Integer.valueOf(String)方法執(zhí)行異常"); e.printStackTrace(); } }
從執(zhí)行結(jié)果可見,這段代碼分別在Integer.parseInt(String)方法和Integer.valueOf(String)位置觸發(fā)了NumberFormatException,????其原因都是被轉(zhuǎn)換的字符串中存在英文字母,無法轉(zhuǎn)換成整型。?
性能比較
我們可以通過查看源碼來比價(jià)兩個(gè)方法的性能:
public static int parseInt(String s) throws NumberFormatException { return parseInt(s,10); } public static Integer valueOf(String s) throws NumberFormatException { return Integer.valueOf(parseInt(s, 10)); }
不難發(fā)現(xiàn),Integer.parseInt(String) 和Integer.valueOf(String)的實(shí)現(xiàn)中,都是調(diào)用的一個(gè)方法:Integer.parseInt(String, Integer);但是Integer.valueOf(String)還多嵌套了一層Integer.valueOf(Integer)方法,因此從源碼可得知:Integer.parseInt(String)方法的性能更勝一籌。
到此這篇關(guān)于Java將字符串String轉(zhuǎn)換為整型Int的文章就介紹到這了,更多相關(guān)Java 字符串String轉(zhuǎn)換int內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring BeanPostProcessor接口使用詳解
本篇文章主要介紹了Spring BeanPostProcessor接口使用詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01Java?IO流之StringWriter和StringReader用法分析
這篇文章主要介紹了Java?IO流之StringWriter和StringReader用法分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12Java如何基于okhttp請(qǐng)求SSE接口流式返回詳解
對(duì)于流式返回,Spring Boot提供了兩種不同的方式,下面這篇文章主要給大家介紹了關(guān)于Java如何基于okhttp請(qǐng)求SSE接口流式返回的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03SpringBoot優(yōu)雅地實(shí)現(xiàn)全局異常處理的方法詳解
這篇文章主要為大家詳細(xì)介紹了SpringBoot如何優(yōu)雅地實(shí)現(xiàn)全局異常處理,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-08-08詳解在java中進(jìn)行日期時(shí)間比較的4種方法
這篇文章主要介紹了詳解在java中進(jìn)行日期時(shí)間比較的4種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Java如何通過"枚舉的枚舉"表示二級(jí)分類的業(yè)務(wù)場(chǎng)景
這篇文章主要介紹了Java如何通過"枚舉的枚舉"表示二級(jí)分類的業(yè)務(wù)場(chǎng)景問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06Java實(shí)現(xiàn)在Word指定位置插入分頁符
在Word插入分頁符可以在指定段落后插入,也可以在特定文本位置處插入。本文將以Java代碼來操作以上兩種文檔分頁需求,需要的可以參考一下2022-04-04