Java是面向对象的,但java的基本类型是基本数据类型,不是面向对象的,为了解决这个问题,在设计的时候给每个基本数据类型都设计了一个相对应的包装类。
从图中,可以看出,除了Int和char以外,其余的包装类都是通过首字母大写来获得。
使用包装类的好处:
1、可以将它作为一个对象使用,同时他仍然具有基本数据类型的数据和操作
2、包含基本数据类型的各个属性
包装类的使用用法,其实十分的简单
从字符串中获取对应的基本数据类型 Short.parseShort(string, radix); Byte.parseByte(string, radix); Boolean.parseBoolean(string); Integer.parseInt(string,radix); Long.parseLong(string, radix); Float.parseFloat(string); Double.parseDouble(string); 这里除了char没有提供parse方法之外,其余的都具有parse+包装类,从而得到对象的基本数据类型的操作。 通过上述方法,我们可以看出,java只为我们提供了整数的进制转换 (byte,short,int,long),小数他不提供进制转换。 注意,这儿的radix,并不是指我们要转换出来的进制,而 是指那个数是几进制的数,我们得到的结果显示都是十进制的 。比如10,2,那么就表示这个10是一个二进制数, 我们解析出来的数都是十进制的,所以这个结果是2,因此当我们使用15,2来解析的时候,会报错,因为15这个数并不是二进制的数,这点希望大家记住。 | 将基本数据类型转换为字符串 Short.toString(short); Byte.toString(byte); Boolean.toString(boolean) Integer.toString(int, radix); Long.toString(long, radix); Float.toString(float); Double.toString(double); Character.toString(char); 通过tostring方法,传入一个基本数据类型,我们就可以得到一个String对象。 我们可以看到上述,已经极其了8种数据也就是所有基本数据类型的操作,是因为object类中定义了tostring方法,因此他们都有。 跟左边相似,int和long仍旧具有转换进制的功能,但是byte和Short没有了,可能java中觉得对于他们的进制非常少,而且我们使用大部分都是int和long。所以才没写这个方法。 同样的,这个radix就表示将当前的十进制先转换为对应的进制数,然后再转换成为对象的字符,与左边正好相反。 |