package test0811;
public class Test01 {
public static void main(String[] args) {
/*
* 包装类:Everything is object
* 针对8种基本数据类型提供了8个包装类
* int byte short long float double boolean char
* Integer Byte Short Long Float Double Boolean Character
*
* 字符串 基本数据类型 包装类之间的转换:
* 字符串--->包装类:使用包装类valueOf方法进行转换
* 包装类--->字符串:使用包装类的toString方法进行转换(包装类都重写了Object的toString方法)
* 字符串--->基本数据类型:使用包装类的parsexxx()方法进行转换
*
*/
/*
//自动装箱
int i = 100;
Integer j = 100;
//自动拆箱
int m = j;
*/
String s = "123";
Integer i = Integer.valueOf(s);//将字符串类型转为包装类
System.out.println(i);
Integer ii = 100;//包装类转字符串类型
String ss = ii.toString();//包装类重写了toString()方法
System.out.println(ss);//100
String i2 = "12345";//字符串转为基本数据类型
int s2 = Integer.parseInt(i2);
System.out.println(s2);//12345
}
}
package test0811;
import java.util.ArrayList;
import java.util.List;
public class Test12 {
public static void main(String[] args) {
/*
List list = new ArrayList();
Integer num1 = new Integer(1);//创建Integer
Integer num2 = new Integer(1);
Integer num3 = new Integer(1);
list.add(num1);//存入到集合中
list.add(num2);
list.add(num3);
Object obj = list.get(0);
//若想直接接收Integer类型,需强转
Integer result = (Integer)list.get(0);//取数据
System.out.println(obj);//1
System.out.println(result);//做了隐式转换,从包装类(对象)转为了基本数据类型然后输出
*/
//从jdk1.5之后,添加自动转换功能:自动从基本数据类型转换包装类型,自动从包装类型转换基本类型
List<Integer> list = new ArrayList<>();
list.add(1);//自动从基本数据类型转换包装类型
list.add(2);
Integer result = list.get(0);
System.out.println(result);//自动从包装类型转换基本类型
Integer num = 1;//自动从基本数据类型转换包装类型
}
}
package test0811;
public class Test13 {
public static void main(String[] args) {
/*
// 包装类与基本数据类型之间的转换
Integer num = new Integer(10);
int i = num.intValue();//转为int型
Integer j = Integer.valueOf(i);//再转为Integer
*/
/*
Integer num = new Integer(10);
Integer a = num+1;//对象不能做加法,所以转换为int,最后又转换为Integer
*/
//字符串与数字类型之间的转换
String str = "123";
int a = Integer.parseInt(str);
double d = Double.parseDouble(str);
int num = 10;
String ss = String.valueOf(num);//int转换为字符串--法一
String sss = num+"";//int转换为字符串--法二
}
}