Java中各种类型的转化

目录

一.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博客

一.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的值是负值的时候,也可以转换为相应的数值,包含非数字的时候 ,会报错误

 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)

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.构造器方法

char[] c={'a','b','c','d'};
String s = new String(c);
System.out.println(s);//abcd

2.Arrays.toString()

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);

  • 15
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

允歆辰丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值