優(yōu)雅的使用String字符串處理各種類型轉(zhuǎn)換
在日常的程序開(kāi)發(fā)中,經(jīng)常會(huì)涉及到不同類型之間的轉(zhuǎn)換,比如將一個(gè)整數(shù)轉(zhuǎn)為字符串,或者將一個(gè)字符串轉(zhuǎn)為浮點(diǎn)數(shù)等等。在Java中,String字符串提供了豐富的方法來(lái)處理各種類型的轉(zhuǎn)換操作,本文將從以下幾個(gè)方面來(lái)介紹如何優(yōu)雅地使用String字符串處理各種類型轉(zhuǎn)換。
基本類型轉(zhuǎn)字符串
將一個(gè)基本類型,比如整數(shù)、浮點(diǎn)數(shù)等等,轉(zhuǎn)為字符串是非常常見(jiàn)的操作。在Java中,我們可以通過(guò)String類的靜態(tài)方法valueOf()來(lái)實(shí)現(xiàn)基本類型轉(zhuǎn)字符串的操作。下面是一些示例代碼:
int i = 123;
String str1 = String.valueOf(i);
System.out.println(str1); // 輸出"123"
double d = 3.14;
String str2 = String.valueOf(d);
System.out.println(str2); // 輸出"3.14"
除了valueOf()方法外,String類還提供了一些其他的方法來(lái)實(shí)現(xiàn)基本類型轉(zhuǎn)字符串的操作,比如Integer.toString()、Double.toString()等等。這些方法與valueOf()方法的效果相同,只是調(diào)用方式不同而已。
字符串轉(zhuǎn)基本類型
將一個(gè)字符串轉(zhuǎn)為基本類型,比如整數(shù)、浮點(diǎn)數(shù)等等,同樣是非常常見(jiàn)的操作。在Java中,我們可以通過(guò)各個(gè)基本類型的parseXXX()方法來(lái)實(shí)現(xiàn)字符串轉(zhuǎn)基本類型的操作。下面是一些示例代碼:
String str1 = "123";
int i = Integer.parseInt(str1);
System.out.println(i); // 輸出123
String str2 = "3.14";
double d = Double.parseDouble(str2);
System.out.println(d); // 輸出3.14
除了parseXXX()方法外,還有一些其他的方法來(lái)實(shí)現(xiàn)字符串轉(zhuǎn)基本類型的操作,比如Integer.valueOf()、Double.valueOf()等等。這些方法與parseXXX()方法的效果相同,只是返回值類型不同而已。
需要注意的是,如果字符串不能轉(zhuǎn)為指定的基本類型,那么會(huì)拋出NumberFormatException異常。因此,在使用parseXXX()方法時(shí),需要進(jìn)行異常處理。
字符串與字符數(shù)組的轉(zhuǎn)換
在Java中,我們可以通過(guò)String類的toCharArray()方法將字符串轉(zhuǎn)為字符數(shù)組,也可以通過(guò)字符數(shù)組的構(gòu)造方法將字符數(shù)組轉(zhuǎn)為字符串。下面是一些示例代碼:
String str = "Hello";
char[] chars = str.toCharArray(); // 將字符串轉(zhuǎn)為字符數(shù)組
System.out.println(chars); // 輸出"Hello"
char[] chars = {'W', 'o', 'r', 'l', 'd'};
String str = new String(chars); // 將字符數(shù)組轉(zhuǎn)為字符串
System.out.println(str); // 輸出"World"
-----------------------------------
?著作權(quán)歸作者所有:來(lái)自51CTO博客作者我是廖志偉的原創(chuàng)作品,請(qǐng)聯(lián)系作者獲取轉(zhuǎn)載授權(quán),否則將追究法律責(zé)任
優(yōu)雅的使用String字符串處理各種類型轉(zhuǎn)換
https://blog.51cto.com/liaozhiweiblog/8042562
需要注意的是,toCharArray()方法返回的是一個(gè)新的字符數(shù)組,而不是原字符串的引用。因此,在對(duì)返回值進(jìn)行修改時(shí),不會(huì)影響原字符串。
字符串與字節(jié)數(shù)組的轉(zhuǎn)換
在Java中,我們可以通過(guò)String類的getBytes()方法將字符串轉(zhuǎn)為字節(jié)數(shù)組,也可以通過(guò)字節(jié)數(shù)組的構(gòu)造方法將字節(jié)數(shù)組轉(zhuǎn)為字符串。下面是一些示例代碼:
String str = "Hello";
byte[] bytes = str.getBytes(); // 將字符串轉(zhuǎn)為字節(jié)數(shù)組
System.out.println(Arrays.toString(bytes)); // 輸出"[72, 101, 108, 108, 111]"
byte[] bytes = {87, 111, 114, 108, 100};
String str = new String(bytes); // 將字節(jié)數(shù)組轉(zhuǎn)為字符串
System.out.println(str); // 輸出"World"
-----------------------------------
?著作權(quán)歸作者所有:來(lái)自51CTO博客作者我是廖志偉的原創(chuàng)作品,請(qǐng)聯(lián)系作者獲取轉(zhuǎn)載授權(quán),否則將追究法律責(zé)任
優(yōu)雅的使用String字符串處理各種類型轉(zhuǎn)換
https://blog.51cto.com/liaozhiweiblog/8042562
需要注意的是,getBytes()方法返回的是一個(gè)新的字節(jié)數(shù)組,而不是原字符串的引用。因此,在對(duì)返回值進(jìn)行修改時(shí),不會(huì)影響原字符串。
另外,需要注意的是,字符串和字節(jié)數(shù)組之間的轉(zhuǎn)換需要指定編碼方式。如果沒(méi)有指定編碼方式,默認(rèn)使用的是平臺(tái)的默認(rèn)編碼方式。因此,在進(jìn)行字符串和字節(jié)數(shù)組的轉(zhuǎn)換時(shí),需要根據(jù)實(shí)際情況指定編碼方式。
其他類型轉(zhuǎn)字符串
除了基本類型之外,Java中還有很多其他類型,比如日期、時(shí)間等等。這些類型可以通過(guò)toString()方法將其轉(zhuǎn)為字符串,也可以通過(guò)String類的format()方法來(lái)格式化字符串。下面是一些示例代碼:
Date date = new Date();
String str1 = date.toString(); // 將日期轉(zhuǎn)為字符串
System.out.println(str1); // 輸出當(dāng)前的日期和時(shí)間
String str2 = String.format("Today is %tF", date); // 格式化字符串
System.out.println(str2); // 輸出"Today is 2022-08-28"
-----------------------------------
?著作權(quán)歸作者所有:來(lái)自51CTO博客作者我是廖志偉的原創(chuàng)作品,請(qǐng)聯(lián)系作者獲取轉(zhuǎn)載授權(quán),否則將追究法律責(zé)任
優(yōu)雅的使用String字符串處理各種類型轉(zhuǎn)換
https://blog.51cto.com/liaozhiweiblog/8042562
需要注意的是,format()方法使用的是C語(yǔ)言風(fēng)格的格式化字符串,具體的格式化符號(hào)可以參考Java官方文檔。
總結(jié)
String字符串提供了豐富的方法來(lái)處理各種類型轉(zhuǎn)換的操作。在使用這些方法時(shí),需要注意一些細(xì)節(jié),比如異常處理、編碼方式等等。通過(guò)合理地使用這些方法,可以讓我們的程序代碼更加簡(jiǎn)潔、優(yōu)雅。