要实现用户输入的内容从字符串向基本数据类型的转换,java提供了基本数据类型的包装类,将基本数据类型的值封装成了对象
八种基本数据类型的包装类对应如下
1、字符串转为基本数据类型的方法:
parseByte(String s);这是个静态成员方法,可以通过类名直接调用该方法,将string类型的s转为byte类型
parseShort(String s);这是个静态成员方法,可以通过类名直接调用该方法,将string类型的s转为short类型
parseInteger(String s);这是个静态成员方法,可以通过类名直接调用该方法,将string类型的s转为int类型
parseLong(String s);这是个静态成员方法,可以通过类名直接调用该方法,将string类型的s转为long类型
parseCharacter(String s);这是个静态成员方法,可以通过类名直接调用该方法,将string类型的s转为char类型
parseBloon(String s);这是个静态成员方法,可以通过类名直接调用该方法,将string类型的s转为bloon类型
parseFloat(String s);这是个静态成员方法,可以通过类名直接调用该方法,将string类型的s转为float类型
parseDouble(String s);这是个静态成员方法,可以通过类名直接调用该方法,将string类型的s转为double类型
例:这里以int类型举例
int i=Interger.parseInterger(“100”);
System.out.println(i+1);
运行结果为101
2、将基本数据类型转为字符串
(1)可以直接拼接一个双引号
String s=123+"";
System.out.println(s+1);
运行结果为1231;
(2)valuesOf();方法
valueOf(Boolean i);这是个静态成员方法,可以直接通过类名直接调用,将Boolean类型的i转为一个字符串
valueOf(int i);这是个静态成员方法,可以直接通过类名直接调用,将int类型的i转为一个字符串
valueOf(char i);这是个静态成员方法,可以直接通过类名直接调用,将char类型的i转为一个字符串
valueOf(float i);这是个静态成员方法,可以直接通过类名直接调用,将float类型的i转为一个字符串
valueOf(double i);这是个静态成员方法,可以直接通过类名直接调用,将double类型的i转为一个字符串
valueOf(long i);这是个静态成员方法,可以直接通过类名直接调用,将long类型的i转为一个字符串
valueOf(object i);这是个静态成员方法,可以直接通过类名直接调用
例:这里以int类型举例
int i=100;
String s=Integer.valuesOf(i);
Systen.out.println(s+1);
运行结果为1001;
(3)调用包装类中的toString()方法
toString(Boolean i);这是个静态成员方法,可以直接通过类名直接调用,将Boolean类型的i转为一个字符串
toString(int i);这是个静态成员方法,可以直接通过类名直接调用,将int类型的i转为一个字符串
toString(char i);这是个静态成员方法,可以直接通过类名直接调用,将char类型的i转为一个字符串
toString(float i);这是个静态成员方法,可以直接通过类名直接调用,将float类型的i转为一个字符串
toString(double i);这是个静态成员方法,可以直接通过类名直接调用,将double类型的i转为一个字符串
toString(long i);这是个静态成员方法,可以直接通过类名直接调用,将long类型的i转为一个字符串
toString(byte i);这是个静态成员方法,可以直接通过类名直接调用,将byte类型的i转为一个字符串
toString(short i);这是个静态成员方法,可以直接通过类名直接调用,将short类型的i转为一个字符串
例:这里以double类型举例
double i=100.6;
String s=Double.toString(i);
System.out.println(s+1);
运行结果为100.61;
3、基本类型与包装类之间的转换
使用int类型与Integer对象转换进行演示,其他基本类型转换方式相同
(1)基本对象->包装类对象
(1-1)构造方法
Interger(int i)将一个int类型的i转为Interger包装类对象
Interger(String i)将一个String类型的i转为Interger包装类对象
例:
Integer in=new Integer(123);
Integer in1=new Integer("456");
同理 其他类型也是一样 Double d=new Double(100.6);
(1-2)成员方法
valuesOf(int i)被静态修饰的静态成员方法,将int类型的i转为integer包装类对象
例:
Integer in2=Integer.valueOf(123);
Integer in3=Integer.valueOf("456");
(2)包装类对象->基本对象
intValue()方法 返回值是一个int类型
例:
int i2=in.intValue();
System.out.println(i2+1);(in是上边创建的那个包装类对象)
运行结果为124
4、自动装箱和自动拆箱
Interger i=123;
当我们这样写,java就自动创建了一个Interger包装类对象i并将123赋值他
实际上java偷偷走了Integer i=new Integer(123);这一段代码,这叫自动装箱
int i2=i+2;输出打印i2的结果为125
当我们这样写,java自动将i转成了基本数据类型,实际走的是int i2=i.intValue()+2;这叫自动拆箱
5、
Integer i=127;//数值在byte范围内 进的是byte常量池如果是127以上的就不会
Integer i2=127;
System.out.println(i==i2);
System.out.println(i.equals(i2));
运行结果为
true
true
Integer i=128;//数值在byte范围内 进的是byte常量池如果是127以上的就不会
Integer i2=128;
System.out.println(i==i2);
System.out.println(i.equals(i2));
运行结果
false
true