由于Java中对于字符串已经有了较好的封装,在使用字符串处理数据类型的转换就非常方便了。
八种基本数据类型都有自己的封装类:
数据类型 | 封装类 |
boolean | Boolean |
byte | Byte |
char | Character |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
由于前五种封装类创建的对象在数值大于127,或小于-128时都无法直接从常量值中取数,所以在判断对象的值是否相等时,使用equals会比较稳妥。
public class Main { public static void main(String[] args) { String s1="1231"; // 没有新对象的产生,放常量池中(估计就是静态代码区) String s2="1231"; System.out.println(s1==s2); // 没有新对象的产生,相等 true Integer i1=127; Integer i2=127; System.out.println(i1==i2); // true 数值小于127 在静态代码区中取值 Integer i3=130; Integer i4=130; System.out.println(i3==i4); // false 数值已大于127,静态代码区不维护大于127的数值 System.out.println(i3.equals(i4)); // true 由于equal已经对于等号复写,所以返回true Integer int1=new Integer("12"); Integer int2=new Integer("12"); System.out.println(int1.equals(int2)); // 两个对象的值比较 true } }
数据类型的转换:
1 基本数据类型转换为字符串
1)基本数据类型.toString();
2)基本数据类型+"";
2 字符串转换为基本数据类型
1 )基本数据类型=基本数据类型.parse基本数据类型(String s);
String str="123"; int i=Integer.parseInt(str); System.out.println(i);
进制转换:
将十进制转换为其他进制:
1) Integer.toBinaryString();
2) Integer.toHexString();
3) Integer.toOctalString();
Integer i6=4; System.out.println(Integer.toBinaryString(i6));
static int parseInt(String s, int radix)
System.out.println(Integer.parseInt("F", 16));
将基本数据类型转换为其他形式的数据时,使用的是:Integer.toXXX;
将其他数据类型转换为基本数据类型或进制转换时,使用的是:Integer.parseInt(string,radix);
有对象的封装类都是用equals进行相等比较