------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一.基本数据类型对象包装类:
将基本数据类型值封装成了对象,提供了更多的属性和行为;可以对具体数据进行操作。
byte Byte
short Short
int Integer
long Long
char Character
boolean Boolean
float Float
duoble Double
基本数据类型对象包装类的功能;可以完成基本数据和字符串之间的转换。
Integer:static int parseInt(numberstring);
Byte : static byteparseByte(string);
规律:
XXXparseXXX(xxxstring);
只有一个类型没有。
Character:
代码体现:
class IntegerDemo {
public static void main(String[] args) {
method_1();
method_2();
method_3();
method_4();
method_5();
method_6();
}
public static void method_6(){
Integer x = new Integer("123");
Integer y = new Integer(123);
System.out.println(x==y);//false
System.out.println(x.equals(y));//true//复写了Object类中的方法,Integer对象比较的是对象中的封装的整数是否相同。
}
public static void method_5(){
String s = Integer.toString(5);//整形转字符型
//String s = 5+"";//+""直接转换
System.out.println(s+6);//输出结果56两个字符串直接连接
String s1 =Integer.toString(60,16);//可以获取指定十进制数对应其他进制。
System.out.println(s1);//输出60的16进制
}
public static void method_4(){
int num =Integer.parseInt("110",2);//可以将指定的进制转成十进制。
System.out.println(num);//输出6
}
public static void method_3(){
Integer i = newInteger("123");//将一个数字格式的字符串封装成了一个Integer对象。
int num = i.intValue();//将一个Integer对象转成对应的int数值。
System.out.println(num+4);
}
public static void method_2(){
//将字符串转成一个基本数据类型值。
String s = "123";
int num =Integer.parseInt("qq");//NumberFormatException
System.out.println(num+4);
}
public static void method_1(){
//把一个整数封装成对象有什么好处呢?
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.toBinaryString(-6));
System.out.println(Integer.toHexString(60));
}
}
二.在JDK1.5版本以后,有了新特性。
操作基本数据类型对象时,可以像操作基本数据类型一样:
jdk1.5新特性,自动装箱拆箱。
class IntegerDemo2{
public static void main(String[] args) {
Integer i = new Integer(4);//这时老版本写法。
Integer x = 4;//Integer x = newInteger(4);//基本数据类型的装箱。自动封装成对象。
//注意:在使用时,需要判断一下x是否为null。简化书写,有好处,也有弊端。
x = x + 5;//x.intValue()+5;拆箱,把一个x对象转成基本数据类型。//相加完的结果9,又本装箱成Intger对象,赋给x.
System.out.println(x);
新特性后,这样一个小插曲。
Integer a = new Integer(127);
Integer b = new Integer(127);
System.out.println(a==b);//false
System.out.println(a.equals(b));//true
Integer aa = 127;
Integer bb = 127;//当使用新特性自动装箱时,注意:如果取值在byte范围内;那么两个变量取值一致,不会在内存中开辟新的对象空间;所以这两个变量如果取值一致,而且都在byte范围内,两个变量指向的是同一个对象。
System.out.println(aa==bb);//true
System.out.println(aa.equals(bb));//true
}
}