国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java常見類型轉(zhuǎn)換

2019-11-11 07:05:22
字體:
供稿:網(wǎng)友

java常見的類型轉(zhuǎn)換

1.基本數(shù)據(jù)類型與字符串之間的互轉(zhuǎn)

1.1基本類型轉(zhuǎn)換成String(以int為例)
eg:int類型轉(zhuǎn)換成String類型.1.int類型+"";2.Integer.toString(int num) //基本類型的封裝類調(diào)用toString()方法,傳入的參數(shù)為int類型.3.static String valueOf(int i) --- 返回 int 參數(shù)的字符串表示形式。 //通過String類中的valueOf(任意類型)方法,將任意類型參數(shù)轉(zhuǎn)換成String類型的字符串. String s = String.valueOf(3); System.out.PRintln(s);
1.2String轉(zhuǎn)換成基本類型(以int為例)
//方法一:static int parseInt(String s) --- 將字符串參數(shù)作為有符號的十進(jìn)制整數(shù)進(jìn)行解析。 String s = "1232123"; int parseInt = Integer.parseInt(s); System.out.println(parseInt);//方法二 static Integer valueOf(int i) --- 返回一個表示指定的 int 值的 Integer 實(shí)例。 int intValue() --- 以 int 類型返回該 Integer 的值。 int intValue = Integer.valueOf(s).intValue(); System.out.println(intValue);

2.數(shù)組與字符串之間的互轉(zhuǎn)

2.2數(shù)組轉(zhuǎn)換成String(代碼實(shí)現(xiàn)在下邊幾行)
1,Arrays工具類中的toString(參數(shù):數(shù)組)方法.2,遍歷數(shù)組添加到創(chuàng)建的StringBuffer中,再直接打印成字符串.
2.2String轉(zhuǎn)換成數(shù)組(代碼實(shí)現(xiàn)在下邊幾行)
1,String中的toCharArray()方法;2,String中的charAt()方法,再通過遍歷添加到創(chuàng)建的字符數(shù)組中.import java.util.Arrays;public class Change { public static void main(String[] args) { //數(shù)組--->字符串. char[] chArr = {'1','2','a','3','b'}; //方法一 //通過調(diào)用Arrays工具類中的toString(參數(shù):數(shù)組)方法. //Arrays工具類的toString(參數(shù):數(shù)組)源代碼 //底層是通過創(chuàng)建StringBuider類來實(shí)現(xiàn)的,為了區(qū)分是數(shù)組類變成String類,所以兩邊添加了[]. String s1 = Arrays.toString(chArr); System.out.println(s1); //System.out.println(chArr.toString());//不能直接調(diào)用toString方法,因?yàn)闆]有重寫打印出來的是地址值. //方法二 //先用String類中charAt()方法獲取每個索引位置字符子串,再通過遍歷挨個添加到創(chuàng)建的StringBuffer中.源碼底層是StringBuild實(shí)現(xiàn)的,是線程不安全的. StringBuffer sb = new StringBuffer(); for (char c : chArr) { sb.append(c); } //StringBuffer的toString方法已經(jīng)重寫了,所以直接可以打印即為字符串. System.out.println(sb); //System.out.println(sb.toString());//效果一樣的. //System.out.println(sb+"");//這也是其他類轉(zhuǎn)換成字符串類的一種方式. //Arrays工具類toString實(shí)現(xiàn)的源碼. // public static String toString(char[] a) { // if (a == null) // return "null"; // int iMax = a.length - 1; // if (iMax == -1) // return "[]"; // // StringBuilder b = new StringBuilder(); // b.append('['); // for (int i = 0; ; i++) { // b.append(a[i]); // if (i == iMax) // return b.append(']').toString(); // b.append(", "); // } // } }}

3.集合與數(shù)組之間的互轉(zhuǎn)

3.1集合轉(zhuǎn)換成數(shù)組
1,Object[] toArray() ---返回包含此 collection 中所有元素的數(shù)組。通過集合實(shí)現(xiàn)類的對象調(diào)用toArray()方法,返回一個Object類型的數(shù)組.import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;public class CollectionDemo { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("a"); list.add("c"); list.add("z"); list.add("a"); list.add("w"); Object[] arr = list.toArray(); System.out.println(Arrays.toString(arr));//用數(shù)組工具類中的toString方法獲取字符串 for (int i = 0; i < arr.length; i++) {//也可以通過遍歷得到元素 System.out.println(arr[i]); }2,<T> T[] ---toArray(T[] a) 返回包含此 collection 中所有元素的數(shù)組;返回?cái)?shù)組的運(yùn)行時類型與指定數(shù)組的運(yùn)行時類型相同。 //定義好集合要轉(zhuǎn)換的數(shù)組類型,通過傳入新創(chuàng)建的數(shù)組類型,這里定義數(shù)組長度為0. String[] array = list.toArray(new String[0]);//list.size() //這里邊涉及到兩個長度問題//1,集合的長度//2,設(shè)定的數(shù)組的長度//兩個長度比一比,誰長聽誰的,不足null補(bǔ)齊. //如何理解呢?就是集合轉(zhuǎn)成數(shù)組,數(shù)組可以提前定義好長度,或者集合默認(rèn)長度list.size(); //轉(zhuǎn)換的時候,哪個長度長就以哪個為準(zhǔn).而元素未添加滿的,用null補(bǔ)齊. for (String string : array) { System.out.println(string); }
3.2數(shù)組轉(zhuǎn)換成集合
1,static<T> List<T> asList(T... a) 返回一個受指定數(shù)組支持的固定大小的列表。通過數(shù)組工具類中的asList()方法//導(dǎo)包public class CollectionDemo { public static void main(String[] args) { //首先這樣的做法是錯誤的,因?yàn)閿?shù)組可以存儲基本數(shù)據(jù)類型和引用數(shù)據(jù)類型,而集合只能存儲引用數(shù)據(jù)類型, //這里雖然不報(bào)錯,是因?yàn)榘裪nt[](int類型的數(shù)組)當(dāng)成了泛型進(jìn)行存儲. int[] arr1 = { 11, 22, 33 }; List<int[]> as1 = Arrays.asList(arr1); System.out.println(as1.size());//1//存儲的是一個數(shù)組,所以長度只有1 System.out.println(as1);//[[I@7852e922] System.out.println("--------------------------"); //Arrays的asList()方法,返回一個受指定數(shù)組支持的固定大小的列表。 //因?yàn)閿?shù)組和集合最大的區(qū)別就是集合的長度是不固定的,把固定類型的數(shù)組轉(zhuǎn)換成集合,那么使集合的長度也"變得"固定了,因此無法使用集合中的set(增)和remove(刪)方法.因?yàn)檗D(zhuǎn)換后的集合長度被數(shù)組固定住了. Integer[] arr2 = { 11, 22, 33 }; List<Integer> as2 = Arrays.asList(arr2); System.out.println(as2);//[11, 22, 33] //迭代過程正常 Iterator<Integer> it2 = as2.iterator(); while (it2.hasNext()) { System.out.println(it2.next()); } //要想把上邊轉(zhuǎn)換而來固定長度的集合進(jìn)行增刪,可以通過再創(chuàng)建(復(fù)制)成新的集合進(jìn)行增刪操作. ArrayList<Integer> list2 = new ArrayList<>(as2); list2.add(100); System.out.println(list2);//[11, 22, 33, 100] System.out.println("--------------------------"); //String本身是引用數(shù)據(jù)類型,可以當(dāng)做集合的元素進(jìn)行存儲. String[] s = { "a", "b", "c" }; List<String> ass = Arrays.asList(s); System.out.println(ass);//[a, b, c] System.out.println("--------------------------"); //static <T> List<T> asList(T... a) //這里的(T... a)是1.5新特性,是可變參數(shù) List<String> str = Arrays.asList("a","b","c");//傳入可變參數(shù) System.out.println(str);//[a, b, c] }}2,通過遍歷數(shù)據(jù)添加到創(chuàng)建的集合中.

4.其他各種轉(zhuǎn)換總結(jié)(開發(fā)中經(jīng)常用到的轉(zhuǎn)換方法)

4.1任意類型轉(zhuǎn)成字符串類型
1,任意類型 + ""2,引用數(shù)據(jù)類型toString()方法3,String.valueOf(參數(shù));參數(shù)傳遞任意類型,返回值是String
4.2字符串轉(zhuǎn)成字節(jié)數(shù)組:
String s = "abc";byte[] bytes = s.getBytes();//在IO流的時候用到--- 字節(jié)流往外寫一個字符串的時候
4.3字節(jié)數(shù)組轉(zhuǎn)字符串:
byte [] bys = {97,98,99};String s = new String(bys);System.out.println(s);
4.4字符串轉(zhuǎn)成字符數(shù)組:
String s = "abc";char[] ch = s.toCharArray();//返回值ch是每一個字符組成的數(shù)組 [a,b,c]得到字符串的每一個字符還可以通過charAt()方法遍歷得到
4.5字符串轉(zhuǎn)成基本數(shù)據(jù)類型://以int類型為例
String s = "123";int ps = Integer.parseInt(s);
4.6字符串轉(zhuǎn)成StringBuffer:
1,構(gòu)造函數(shù) String s = "abc"; StringBuffer sb = new StringBuffer(s);//在要用到StringBuffer里面的方法的時候使用,比如反轉(zhuǎn),比如添加2,通過append()方法 String s = "abc"; StringBuffer sb = new StringBuffer(); sb.append(s);
4.7StringBuffer轉(zhuǎn)成字符串:
1,任意類型 + ""2,引用數(shù)據(jù)類型toString()方法3,String.valueOf(參數(shù));參數(shù)傳遞任意類型,返回值是String4,構(gòu)造 StringBuffer sb = new StringBuffer("abc"); String s = new String(sb);//s就是轉(zhuǎn)換后的結(jié)果5,subString StringBuffer sb = new StringBuffer("abc"); String s = sb.subString(0,sb.length());//s就是轉(zhuǎn)換后的結(jié)果
4.8基本數(shù)據(jù)類型與其包裝類之間的手動轉(zhuǎn)換:
int ---> Integer(手動裝箱) int i = 10; Integer ii = new Integer(i);//其中ii就是手動包裝后的引用數(shù)據(jù)類型對象Integer ---> int(手動拆箱) Integer i = new Integer(10); int iv = i.intValue();//iv就是由Integer轉(zhuǎn)換成int得到的值
4.9毫秒值轉(zhuǎn)成日期對象
1,先有一個毫秒值Long類型的d2,轉(zhuǎn)換 Date date = new Date(d); 或者 Date date = new Date(); date.setTime(d);//兩種方法中的date就是將毫秒值轉(zhuǎn)換成的日期對象
4.10日期對象轉(zhuǎn)換成毫秒值
1,先有一個 Date 類型的時間對象2,直接通過getTime的方法獲取毫秒值
4.11將日期對象轉(zhuǎn)換成字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");String s = sdf.format(new Date());//傳遞時間對象,返回格式化后的字符串
4.12將字符串轉(zhuǎn)換成字符串日期對象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");Date d = sdf.parse("2000年10月10日 10:10:10");//傳遞時間對象,返回格式化后的字符串
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 呼和浩特市| 根河市| 庆安县| 华坪县| 清水县| 清原| 上思县| 灵武市| 分宜县| 绥滨县| 河间市| 华容县| 镇原县| 舞钢市| 花垣县| 承德县| 四平市| 潞西市| 峨眉山市| 广河县| 高碑店市| 青龙| 抚松县| 兴国县| 哈尔滨市| 新竹市| 九龙县| 峨山| 沈阳市| 逊克县| 临湘市| 华亭县| 麻城市| 武城县| 潼南县| 吕梁市| 绵阳市| 堆龙德庆县| 始兴县| 镶黄旗| 霸州市|