Java中各种类型的转化 绝地灬酷狼 2024-04-01 19:02 21阅读 0赞 **目录** 一.Integer和int之间的类型转化 1.自动装箱 2.构造器方法 3.Integer.valueOf(int i) 二.Integer和String之间的类型转换 1.String转换为Integer 1.Integer.parseInt(String s) 编辑 2.Integer.valueOf(String s) 2.Integer转换为String 1.Integer.toString() 2.String.valueOf(Integer i) 三.不同进制和Integer类型之间的转换 1.Integer.valueOf(String s,int radix) 2.Integer.parseInt(String s,int radix) 四.集合之间类型的转换 1.list和set之间的转换 1.构造器方法 2.流式编程 五.List和Integer数组之间的类型转换 1.List.toArray(new Integer\[0\])的方法 list-->Integer\[\] 2.笨方法,一个一个添加 list-->Integer\[\] 3.Arrays.asList Integer\[\]-->List 六.List和int数组之间的类型转换 1.流式编程和Lambda表达式 list---->int数组 七.Set和int数组之间的类型转换 1.流式编程和Lambda表达式 2.一个一个的添加 或者转换为list添加 八.String和StringBuffer和StringBuilder之间的类型转换 1.String到StringBuffer和StringBuilder之间的类型 2.StringBuffer到StringBuilder到String之间的类型 九.BigInteger和Integer和String之间的类型转换 1.BigInter.valueOf(long val) 2.new BigInteger(String s) 十.String和各种类型的数组之间的类型转换 1.构造器方法 2.Arrays.toString() 十一.Integer数组和int数组之间的转换 1.遍历 十二.集合排序 1.对Map进行排序 2.对List进行排序 1.Collections.sort()方法 2.流式编程 -------------------- **提示:本文章包含了流式编程和Lambda的一些内容,不明白的可以参考这篇博客** [Java8新特性之Lambda表达式和Stream API\_允歆辰丶的博客-CSDN博客][Java8_Lambda_Stream API_-CSDN] ## 一.Integer和int之间的类型转化 ## ### 1.自动装箱 ### > Integer integer=2; > int a=integer; > integer=a; ### 2.构造器方法 ### > Integer integer = new Integer(1); ### 3.Integer.valueOf(int i) ### > Integer integer = Integer.valueOf(10); ## 二.Integer和String之间的类型转换 ## ### 1.String转换为Integer ### #### 1.Integer.parseInt(String s) #### > String s="-12"; > System.out.println(Integer.parseInt(s));//-12 注意:当s的值是负值的时候,也可以转换为相应的数值,包含非数字的时候 ,会报错误 #### ![cfa37887204d41c2a3655d34b1958e6a.png][] #### #### 2.Integer.valueOf(String s) #### > System.out.println(Integer.valueOf("-12"));//-12 ### 2.Integer转换为String ### #### 1.Integer.toString() #### > Integer a=-10; > String s = a.toString(); > System.out.println(s);//-10 #### 2.String.valueOf(Integer i) #### > Integer a=-10; > String s = String.valueOf(a); > System.out.println(s);//-10 ## 三.不同进制和Integer类型之间的转换 ## ### 1.Integer.valueOf(String s,int radix) ### > System.out.println(Integer.valueOf("1001", 2));//9 > System.out.println(Integer.valueOf("16", 8));//14 > System.out.println(Integer.valueOf("AA", 16));//170 ### 2.Integer.parseInt(String s,int radix) ### > System.out.println(Integer.parseInt("1001", 2));//9 > System.out.println(Integer.parseInt("16", 8));//14 > System.out.println(Integer.parseInt("AA", 16));//170 ## 四.集合之间类型的转换 ## ### 1.list和set之间的转换 ### #### 1.构造器方法 #### set--->list > HashSet<Integer> integers = new HashSet<>(); > ArrayList<Integer> list = new ArrayList<>(integers); list-->set > ArrayList<Integer> list = new ArrayList<>(); > HashSet<Integer> integers = new HashSet<>(list); #### 2.流式编程 #### set--->list > ArrayList<Integer> list = new ArrayList<>(); > Set<Integer> set = list.stream().collect(Collectors.toSet()); list-->set > HashSet<Integer> set = new HashSet<>(); > List<Integer> list = set.stream().collect(Collectors.toList()); map->list > List<Entry<Integer, Integer>> collect = map.entrySet().stream().collect(Collectors.toList()); list->map > ArrayList<Integer> list = new ArrayList<>(); > //如果a和b的key相同,返回a的value > Map<Integer, Integer> collect2 = list.stream().collect(Collectors.toMap(a -> a, a -> 0, (a, b) -> a)); > ArrayList<Entry<String,Integer>> list = new ArrayList<>(); > Map<Integer, Integer> collect1 = map.entrySet().stream().collect(Collectors.toMap(a -> a.getKey(), a -> a.getValue(),(a,b)->a)); ## 五.List和Integer数组之间的类型转换 ## ### 1.List.toArray(new Integer\[0\])的方法 list-->Integer\[\] ### > ArrayList<Integer> list = new ArrayList<>(); > Integer[] integers = list.toArray(new Integer[0]); ### 2.笨方法,一个一个添加 list-->Integer\[\] ### > ArrayList<Integer> list = new ArrayList<>(); > int[] ints=new int[list.size()]; > for(int i=0;i<ints.length;++i){ > ints[i]=list.get(i); > } ### 3.Arrays.asList Integer\[\]-->List ### > Integer[] integer={1,2,3}; > List<Integer> list = Arrays.asList(integer); **注意:基本数据类型的数组无法转换为List** ## 六.List和int数组之间的类型转换 ## ### 1.流式编程和Lambda表达式 list---->int数组 ### > ArrayList<Integer> list = new ArrayList<>(); > int[] ints = list.stream().mapToInt(x -> x).toArray(); ## 七.Set和int数组之间的类型转换 ## ### 1.流式编程和Lambda表达式 ### > HashSet<Integer> integers = new HashSet<>(); > int[] ints = integers.stream().mapToInt(x -> x).toArray(); ### 2.一个一个的添加 或者转换为list添加 ### > HashSet<Integer> integers = new HashSet<>(); > int[] ints=new int[integers.size()]; > Iterator<Integer> iterator = integers.iterator(); > for(int i=0;i<ints.length;++i){ > ints[i]=iterator.next(); > } ## 八.String和StringBuffer和StringBuilder之间的类型转换 ## ### 1.String到StringBuffer和StringBuilder之间的类型 ### 构造器方法 > String s = new String(); > StringBuilder sb = new StringBuilder(s); > StringBuffer stringBuffer = new StringBuffer(s); ### 2.StringBuffer到StringBuilder到String之间的类型 ### 构造器方法 > StringBuilder sb = new StringBuilder(); > StringBuffer stringBuffer = new StringBuffer(); > String s = new String(sb); > String s = new String(stringBuffer); ## 九.BigInteger和Integer和String之间的类型转换 ## ### 1.BigInter.valueOf(long val) ### ![3c3efc39c9894beea2f29c123899a164.png][] > BigInteger bigInteger = BigInteger.valueOf(13L); > System.out.println(bigInteger);//13 ### 2.new BigInteger(String s) ### > BigInteger bigInteger = new BigInteger("123"); > System.out.println(bigInteger);//123 ## 十.String和各种类型的数组之间的类型转换 ## ### 1.构造器方法 ### ![06c6063a5e0647819090011e109ebc0a.png][] > char[] c={'a','b','c','d'}; > String s = new String(c); > System.out.println(s);//abcd ### 2.Arrays.toString() ### ![14538b7ce6524e5db8f27a198968d3e3.png][] > int[] ints={1,2,3,4,5}; > String s = Arrays.toString(ints); > System.out.println(s);//[1, 2, 3, 4, 5] **注意:此时转换为字符串最好用于打印,不要进行操作,因为存在\[\]和","** ## 十一.Integer数组和int数组之间的转换 ## ### 1.遍历 ### > Integer[] arr1 = {1, 2, 3, 4, 5}; > int[] arr = new int[5]; > for (int i = 0; i < arr1.length; ++i) { > arr[i] = arr1[i]; > } ## 十二.集合排序 ## ### 1.对Map进行排序 ### > HashMap<String, Integer> map = new HashMap<>(); > Map<String, Integer> collect = map.entrySet().stream().sorted(new Comparator<Entry<String, Integer>>() { > @Override > public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) { > return o1.getValue() - o2.getValue(); > } > }).collect(Collectors.toMap(a -> a.getKey(), a -> a.getValue())); ### 2.对List进行排序 ### #### 1.Collections.sort()方法 #### > ArrayList<Integer> list = new ArrayList<>(); > list.add(10); > list.add(9); > list.add(18); > list.add(5); > list.add(4); > Collections.sort(list); #### 2.流式编程 #### > ArrayList<Integer> list = new ArrayList<>(); > list.add(10); > list.add(9); > list.add(18); > list.add(5); > list.add(4); > List<Integer> collect = list.stream().sorted(new Comparator<Integer>() { > @Override > public int compare(Integer o1, Integer o2) { > return o1 - o2; > } > }).collect(Collectors.toList()); > System.out.println(collect); [Java8_Lambda_Stream API_-CSDN]: https://blog.csdn.net/qq_64580912/article/details/128327030?spm=1001.2014.3001.5502 [cfa37887204d41c2a3655d34b1958e6a.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/01/a498448411944da0a91258729a972831.png [3c3efc39c9894beea2f29c123899a164.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/01/c4a15f5c42254b15a94d46409007c626.png [06c6063a5e0647819090011e109ebc0a.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/01/b4ac9213211e4d0b88aa6c25747a998b.png [14538b7ce6524e5db8f27a198968d3e3.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/01/7c4c7e7d48364d4483c20761d0fd3c62.png
还没有评论,来说两句吧...