1.2 String字符串和整型int的相互转换,valueOf() 、parse()和toString()
String 在編程中被廣泛使用,所以掌握 String 和 int 的相互轉(zhuǎn)換方法是極其重要的。前面部分主要講解了 String 轉(zhuǎn)換 int 和 int 轉(zhuǎn)換 String 方法,后面部分對(duì) valueOf()、parse() 和 toString() 等具體方法進(jìn)行介紹。
String轉(zhuǎn)換為int
String 字符串轉(zhuǎn)整型 int 有以下兩種方式:
- Integer.parseInt(str)
- Integer.valueOf(str).intValue()
注意:Integer 是一個(gè)類(lèi),是 int 基本數(shù)據(jù)類(lèi)型的封裝類(lèi)
例如下面代碼所示:
public static void main(String[] args) {String str = "123";int n = 0;// 第一種轉(zhuǎn)換方法:Integer.parseInt(str)n = Integer.parseInt(str);System.out.println("Integer.parseInt(str) : " + n);// 第二種轉(zhuǎn)換方法:Integer.valueOf(str).intValue()n = 0;n = Integer.valueOf(str).intValue();System.out.println("Integer.parseInt(str) : " + n); }輸出結(jié)果為:
Integer.parseInt(str) : 123 Integer.parseInt(str) : 123在 String 轉(zhuǎn)換 int 時(shí),String 的值一定是整數(shù),否則會(huì)報(bào)數(shù)字轉(zhuǎn)換異常(java.lang.NumberFormatException)。
int轉(zhuǎn)換為String
整型 int 轉(zhuǎn) String 字符串類(lèi)型有以下 3 種方法:
- String s = String.valueOf(i);
- String s = Integer.toString(i);
- String s = “” + i;
例如下面代碼所示:
public static void main(String[] args) {int num = 10;// 第一種方法:String.valueOf(i);num = 10;String str = String.valueOf(num);System.out.println("str:" + str);// 第二種方法:Integer.toString(i);num = 10;String str2 = Integer.toString(num);System.out.println("str2:" + str2);// 第三種方法:"" + i;String str3 = num + "";System.out.println("str3:" + str3); }輸出結(jié)果為:
str:10 str2:10 str3:10使用第三種方法相對(duì)第一第二種耗時(shí)比較大。在使用第一種 valueOf() 方法時(shí),注意 valueOf 括號(hào)中的值不能為空,否則會(huì)報(bào)空指針異常(NullPointerException)。
valueOf() 、parse()和toString()
1)valueOf()
valueOf() 方法將數(shù)據(jù)的內(nèi)部格式轉(zhuǎn)換為可讀的形式。它是一種靜態(tài)方法,對(duì)于所有 Java 內(nèi)置的類(lèi)型,在字符串內(nèi)被重載,以便每一種類(lèi)型都能被轉(zhuǎn)換成字符串。valueOf() 方法還被類(lèi)型 Object 重載,所以創(chuàng)建的任何形式類(lèi)的對(duì)象也可被用作一個(gè)參數(shù)。這里是它的幾種形式:
static String valueOf(double num) static String valueOf(long num) static String valueOf(Object ob) static String valueOf(char chars[])與前面的討論一樣,調(diào)用 valueOf() 方法可以得到其他類(lèi)型數(shù)據(jù)的字符串形式——例如在進(jìn)行連接操作時(shí)。對(duì)各種數(shù)據(jù)類(lèi)型,可以直接調(diào)用這種方法得到合理的字符串形式。所有的簡(jiǎn)單類(lèi)型數(shù)據(jù)轉(zhuǎn)換成相應(yīng)于它們的普通字符串形式。任何傳遞給 valueOf() 方法的對(duì)象都將返回對(duì)象的 toString() 方法調(diào)用的結(jié)果。事實(shí)上,也可以通過(guò)直接調(diào)用 toString() 方法而得到相同的結(jié)果。
對(duì)大多數(shù)數(shù)組,valueOf() 方法返回一個(gè)相當(dāng)晦澀的字符串,這說(shuō)明它是一個(gè)某種類(lèi)型的數(shù)組。然而對(duì)于字符數(shù)組,它創(chuàng)建一個(gè)包含了字符數(shù)組中的字符的字符串對(duì)象。valueOf() 方法有一種特定形式允許指定字符數(shù)組的一個(gè)子集。
它具有如下的一般形式:
static String valueOf(char chars[ ], int startIndex, int numChars)這里 chars 是存放字符的數(shù)組,startIndex 是字符數(shù)組中期望得到的子字符串的首字符下標(biāo),numChars 指定子字符串的長(zhǎng)度。
2)parse(),字符串轉(zhuǎn)為數(shù)值
parseXxx(String) 這種形式,是指把字符串轉(zhuǎn)換為數(shù)值型,其中 Xxx 對(duì)應(yīng)不同的數(shù)據(jù)類(lèi)型,然后轉(zhuǎn)換為 Xxx 指定的類(lèi)型,如 int 型和 float 型。
3)toString(),引用類(lèi)型轉(zhuǎn)為字符串
toString() 可以把一個(gè)引用類(lèi)型轉(zhuǎn)換為 String 字符串類(lèi)型,是 sun 公司開(kāi)發(fā) Java 的時(shí)候?yàn)榱朔奖闼蓄?lèi)的字符串操作而特意加入的一個(gè)方法。
總結(jié)
以上是生活随笔為你收集整理的1.2 String字符串和整型int的相互转换,valueOf() 、parse()和toString()的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 1.1 定义字符串
- 下一篇: 1.3 字符串拼接(连接)