Java数据类型转换

 1 public static void main(String[] args) {
 2     //包装类转基本数据类型
 3         Integer in1=new Integer(12);
 4         int i1=in1.intValue();
 5         Float in2=new Float(12.3);
 6         float i2=in2.floatValue();
 7            //or 自动拆箱
 8         Integer in=new Integer(13);
 9         int in4=in;
10         
11     //基本数据类型转包装类
12         int num=10;
13         Integer n2=new Integer(num);
14            //or 自动装箱
15         int i3=10;
16         Integer in3=i3;
17         boolean b1=true;
18         Boolean b2=b1;
19  
20     //基本数据类型、包装类转String
21         int num1=10;
22         //method1 连接运算
23         String str1=num1+"";
24         //method2 调用String重载的ValueOf(Xxx xxx)
25         String str2=String.valueOf(num1);
26         
27     //String转基本数据类型、包装类
28         String str="123";
29         //int num2=(int)str; wrong
30         //Integer num3=(int)str;wrong
31         //能强制转化的一定要满足子父类的关系
32         //转化的时候要保证两个类型间是可以转的,比如"123a"不能转换到int,否则NumberFormatException
33         //调用包装类的parseXxx()
34         int num4=Integer.parseInt(str);
35     }

 

 1 public static void main(String[] args) {
 2     //String转char[] 调用String的toCharArray();
 3     String str="abc123";
 4     char[] array=str.toCharArray();
 5     for(int i=0;i<array.length;i++)
 6     {
 7         System.out.println(array[i]);
 8     }
 9     
10     //char[]转String
11     char[] arr=new char[] {'b','e','s','t'};
12     String str2=new String(arr);
13     System.out.println(str2);
14     }

 

Integer内部定义了IntegerCache结构,该结构中定义了Interger[]数组,保存从-127~128范围的整数。如果我们使用自动装箱的方式,给Integer赋值的范围在-128~127中,可以直接查找数组中的元素,不再去new了。目的是为了提高Integer在装箱时的效率。

1     Integer m=1;
2     Integer n=1;
3     System.out.println(m==n);//true
4     Integer x=128;
5     Integer y=128;
6     System.out.println(x==y);//false

 

posted @ 2019-05-03 14:48  zuiaimiusi  阅读(157)  评论(0编辑  收藏  举报