黑马程序员-对象包装类

来源:互联网 发布:卫星机顶盒改网络电视 编辑:程序博客网 时间:2024/04/20 20:14

对象包装类

基本数据类型对象包装类

java把任何事物都看作对象,所以也把基本数据类型当作对象处理。

把基本数据类型转换为对象,会有很多好处,在包装类中提供了很多可以对基本数据类型操作的方法。

基本数据类型对象包装类。

byte--Byte

short--short

int--Integer

long--Long

boolean-- Boolean

float--Float

double--Double

char--Character

基本数据类型对象包装类的最常见作用,

就是用于基本数据类型和字符串类型之间做转换

基本数据类型转成字符串。

基本数据类型+""

基本数据类型.toString(基本数据类型值);

如: Integer.toString(34);//将34整数变成"34";

字符串转成基本数据类型。

在每一 个基本数据类型对象包装类中都有有一个静态方法可以用于将字符串对象转换为基本数据类型

Java代码 复制代码 收藏代码
  1. 如:
  2. Integer.parseInt("123");
  3. xxx a = Xxx.parseXxx(String);
  4. int a = Integer.parseInt("123");
  5. double b = Double.parseDouble("12.23");
  6. boolean b = Boolean.parseBoolean("true");
  7. Integer i = new Integer("123");
Java代码 复制代码 收藏代码

注意:Character类中没有没有提供字符串转换为char类型数据的方法,因为char是字符串数据的最小单位。

在对象包装类中还提供了一些非静态方法用于字符串对象和基本数据类型的转换:

int num = i.intValue();将对象转换为Int类型

long l=i.longValue():将对象转换为long类型

short s=i.shortValue();将对象转换为short类型

十进制转成其他进制。

toBinaryString();

toHexString();

toOctalString();

其他进制转成十进制。

parseInt(string,radix);

Integer对象包装类中覆盖了equals方法,比较的是数值的大小。

Java代码 复制代码 收藏代码
  1. class IntegerDemo
  2. {
  3. public static void sop(String str)
  4. {
  5. System.out.println(str);
  6. }
  7. public static void main(String[] args)
  8. {
  9. 整数类型的最大值。
  10. sop("int max :"+Integer.MAX_VALUE);
  11. 将一个字符串转成整数。
  12. int num = Integer.parseInt("123");//必须传入数字格式的字符串。
  13. long x = Long.parseLong("123");
  14. sop("num="+(num+4));
  15. sop(Integer.toBinaryString(-6));
  16. sop(Integer.toHexString(60));
  17. int x = Integer.parseInt("3c",16);
  18. sop("x="+x);
  19. }
  20. }

JDK1.5版本以后出现的新特性。

可以使用Integer x=4代替Integer x=new Integer(4);创建对象,将自动装箱。

x+=2;这句话将对x进行自动拆箱,编程int类型,和2进行加法运算,再将运算的和进行装箱运算,复制给x。

Java代码 复制代码 收藏代码
  1. class IntegerDemo1
  2. {
  3. public static void main(String[] args)
  4. {
  5. Integer x = new Integer(4);
  6. Integer x = 4;//自动装箱。//new Integer(4)
  7. x = x/* x.intValue() */ + 2;//x+2:x 进行自动拆箱。变成成了int类型。和2进行加法运算。
  8. //再将和进行装箱赋给x。
  9. Integer m = 128;
  10. Integer n = 128;
  11. sop("m==n:"+(m==n));
  12. Integer a = 127;
  13. Integer b = 127;
  14. sop("a==b:"+(a==b));//结果为true。因为a和b指向了同一个Integer对象。
  15. //因为当数值在byte(-128-127)范围内,对于新特性,如果该数值已经存在,则不会在开辟新的空间。
  16. }
  17. public static void method()
  18. {
  19. Integer x = new Integer("123");
  20. Integer y = new Integer(123);
  21. sop("x==y:"+(x==y));
  22. sop("x.equals(y):"+x.equals(y));
  23. }
  24. public static void sop(String str)
  25. {
  26. System.out.println(str);
  27. }
  28. }

原创粉丝点击