-
基本类型包装类的作用
- 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据
- 常用的操作之一:用于基本数据类型与字符串之间的转换
-
基本类型对象的包装类
| 基本数据类型 | 包装类 |
|---|---|
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
-
Integer类概述
- 包装一个对象的原始类型int的值
-
Integer类构造方法
| 方法名 | 说明 |
|---|---|
| public Integer(int value) | 根据int值创建Integer对象(过时) |
| public Integer(String s) | 根据String值创建Integer对象(过时) |
| public static Integer valueOf(int i) | 返回表示指定的int值的Integer实例 |
| public static Integer valueOf(String s) | 返回一个保存指定值的Integer对象String |
- 代码示例
package study01;
public class IntegerDeom {
public static void main(String[] args) {
//| `public Integer(int value)` | 根据`int`值创建`Integer`对象(过时) |
Integer i1 = new Integer(100);
System.out.println(i1);
System.out.println("=====================");
//| `public Integer(String s)` | 根据`String`值创建`Integer`对象(过时) |
Integer i2 = new Integer("100");
// Integer i2 = new Integer("abc"); //NumberFormatException
System.out.println(i2);
System.out.println("=====================");
//| `public static Integer valueOf(int i)` | 返回表示指定的`int`值的`Integer`实例 |
Integer i3 = Integer.valueOf(100);
System.out.println(i3);
System.out.println("====================");
//| `public static Integer valueOf(String s)` | 返回一个保存指定值的`Integer`对象`String` |
Integer i4 = Integer.valueOf("100");
System.out.println(i4);
System.out.println("====================");
}
}
3.Int 和String类型的相互转换
-
int 转换为String
-
转换方式
- 方式一:直接在数字后面加一个空字符串
- 方法二:通过String类静态方法valueOf()
-
示例代码
package study01; public class IntToSting { public static void main(String[] args) { int number = 100; // - 方式一:直接在数字后面加一个空字符串 String i1 = number + ""; System.out.println(i1); System.out.println("============="); // - 方法二:通过`String`类静态方法`valueOf()` Integer i2 = new Integer(number); System.out.println(i2); System.out.println("============="); } } -
-
String转换为Int
-
转换方式
- 方式一:先将字符串转换成Integer,再调用valueOf()方法
- 方法二:通过Integer静态方法parseInt()方法转换
-
示例代码
package study01; public class StringToInt { public static void main(String[] args) { String s = "100"; // - 方式一:String --- Integer --- int Integer i1 = Integer.valueOf(s); //intValue() int i = i1.intValue(); System.out.println(i); System.out.println("================"); // - 方式二:通过Integer静态方法parseInt()进行转换 //public static int parseInt(String s) int j = Integer.parseInt(s); System.out.println(j); System.out.println("================="); } } -
-
需求:有一个字符串:“91 27 46 38 50”,请写程序实现最终输出结果是:“27 38 46 50 91”
-
代码实现:
package study01;
import java.util.Arrays;
public class IntegerTest {
public static void main(String[] args) {
String s = "91 27 46 38 50";
//将字符串s拆分后存入到字符串strArray中
String []strArray = s.split(" ");
//把String类型的数组strArray中的数据挨个转成int类型,并存入arr数组中
int []arr = new int[strArray.length];
for (int i = 0;i< strArray.length;i++){
arr[i] = Integer.parseInt(strArray[i]);
}
//对arr数组进行排序
Arrays.sort(arr);
//利用StringBuilder将排序后的arr数组拼接成字符串,
StringBuilder su = new StringBuilder();
for (int i = 0;i< arr.length;i++){
if (i == arr.length-1){
su.append(arr[i]);
}else {
su.append(arr[i]).append(" ");
}
}
//将结果转换为String类型
String result = su.toString();
//输出结果
System.out.println(result);
}
}
4. 自动拆箱和自动装箱
-
自动装箱
- 把基本数据类型转换为对应的包装类类型
-
自动拆箱
- 把包装类型转换为对应的基本数据类型
-
示例代码
Integer i = 100; // 自动装箱 i += 200; // i = i + 200; i + 200 自动拆箱;i = i + 200; 是自动装箱



