自动装箱和拆箱
装箱:把基本数据类型转换为对应的包装类类型
1 | Integer num = Integer.valueOf(100); |
拆箱:把包装类类型转换为对应的基本数据类型
1 | num = num.intValue() + // 200 //手动拆箱再自动装箱 |
注意:在使用包装类的时候,如果做操作,做好先判断是否为null
Set集合转换为数组
① int[] array = res.stream().mapToInt(Integer::intValue).toArray();
当你调用set.stream()
时,你会获得一个Stream<Integer>
对象,它将原始的Set中的元素转化为一个流。
接下来,使用.mapToInt(Integer::intValue)
方法将Stream<Integer>
转换为IntStream
。mapToInt()
方法接受一个函数(也称为映射函数)作为参数,该函数定义了将Integer
对象映射为int
值的规则。
在这种情况下,我们使用了Integer::intValue
方法引用,它将Integer
对象转换为对应的int
值。
最后,使用.toArray()
方法来将IntStream
转换为一个int[]
数组。这个方法将流中的元素收集起来,并以数组的形式返回。
(所以,整个代码的意思是将Set类型的集合set
转换为一个int类型的数组array
。请注意,这里的Set类型必须是存储的元素都为整数类型才能成功转换。)
②
1 | int[] array = new int[res.size()]; |
int 和 String 的相互转换
int → String
①String s1 = String.valueOf(x)
②Integer.toString(x)
"" + nums[i]
这个表达式中,空字符串””会将整数nums[i]转换为字符串形式,然后将两个字符串拼接在一起。这种方式可以将整数转换为字符串。
String → Integer → int
1 | Integer i = Integer.valueOf(s); |
String → int(字符串转化为整型)int y = Integer.parseInt(s)
split() 按照括号中的内容为界限,分割字符串,返回字符串数组。
1 | String originString = "91 27 46 38 50"; |
Integer
Integer类中常用的方法包括:
- intValue() - 将Integer对象转换为int类型的值
- doubleValue() - 将Integer对象转换为double类型的值
- floatValue() - 将Integer对象转换为float类型的值
- compareTo() - 比较两个Integer对象的大小
- equals() - 比较两个Integer对象是否相等
- toString() - 将Integer对象转换为字符串
- parseInt() - 将字符串转换为int类型的值(静态)
- valueOf() - 返回表示指定int值的Integer实例
- bitCount() - 返回二进制补码表示中1的个数
- hashCode() - 返回Integer对象的哈希码值
- toBinaryString() - 返回Integer对象的二进制表示字符串
- toHexString() - 返回Integer对象的十六进制表示字符串
- toOctalString() - 返回Integer对象的八进制表示字符串
- numberOfLeadingZeros() - 返回以二进制补码形式表示的指定int值的最高位(最左侧)零位数。
ArrayList - 数组
1 | String[] array = list.toArray(new String[list.size()]); |