Java:基本数据类型包装类简述

基本数据类型包装类

在开始分享今天的内容之前,我们需要知道:在实际程序使用中,程序界面上用户输入的数据都是以字符型进行存储的,但是我们知道,Java中有8种基本数据类型,而我们使用非字符类型的数据类型的频率也是相当高的,也就是说,程序开发种,我们需要把字符串数据,根据需求转换成指定的基本数据类型,如年龄需要转换成int类型,而成绩需要转换成double类型等,这显然是非常麻烦的事情。不过,在Java中,为我们提供了相应的对象来解决该问题:基本数据类型对象包装类,即Java将基本数据类型封装成了对象。八种基本类型对应的包装类如下:

类型英文对应的包装类
字节型byteByte
短整型shortShort
整型intInteger
长整型longLong
字符型charCharacter
布尔型booleanBoolean
浮点型floatFloat
浮点型doubleDouble

考虑到基本数据类型包装类的用法大多数都是一致的关系,这里就选取Integer为例,分享基本数据类型包装类的用法。

将字符串转换成基本类型(parseXXX(String s))

parseXXX(String s);这里的XXX表示的是基本数据类型,参数为可以转换成基本数据类型的字符串。注:如果字符串无法转换成基本数据类型,将会发生数字转换的问题 NumberFormatException
例子1:

package demo;

public class IntegerDemo {
	public static void main(String[] args) {
		function();
	}
	/*
	 * Interger类中的静态方法parseInt(String s),返回基本数据类型
	 * 要求:字符串必须是数字格式的
	 */
	public static void function() {
		int i = Integer.parseInt("16");
		System.out.println(i/2);
	}
}

这个例子中,把字符串"16"转换成了数字16,然后进行运算输出8,需要注意的是这里的"16"不能输入" 16"这类的非数字类型的字符串,否则会报错。
例子2:

package demo;

public class IntegerDemo {
	public static void main(String[] args) {
		function();
	}
	/*
	 * Interger类中的静态方法parseInt(String s,int radix)
	 * 
	 */
	public static void function() {
		int i = Integer.parseInt("110",2);
		System.out.println(i);
	}
}

上面这个例子中的方法是parseInt(String s)的重载方法,作用是把二进制转换成十进制,方法中的radix参数代表的是基数(进制),这里这个参数是可以换成八进制或者十六进制这些的,但是改变了radix后前面的String s 参数就必须符合相应的进制规则,比如radix = 2,String s = " 112",这里的String s 参数是不符合二进制的。

将基本数据类型转换为字符串的三种方法

(1)基本数据类型 + “”;
例子:

package demo;

public class IntegerDemo {
	public static void main(String[] args) {
		function();
	}
	public static void function() {
		int i = 10;
		String s = i +"";
		System.out.println(i+1);
	}
}

(2)Interger类中的静态方法toString();
例子:

package demo;

public class IntegerDemo {
	public static void main(String[] args) {
		function();
	}
	public static void function() {
		int i = 10;
		String s = Integer.toString(i);
		System.out.println(s);
	}
}

(3)Interger类中的静态方法toString(int a, int radix);
例子:

package demo;

public class IntegerDemo {
	public static void main(String[] args) {
		function();
	}
	public static void function() {
		int i = 5;
		String s = Integer.toString(i,2);
		System.out.println(s);
	}
}

例子2中的方法的的意思是把i转换成二进制的字符串,和上面parseInt(String s,index)方法的含义不同

Integer构造方法

例子:

package demo;

public class IntegerDemo {
	public static void main(String[] args) {
		function();
	}
	public static void function() {
	Integer in = new Integer("100");
	int i = in.intValue();
	System.out.println(i);
			
	}
}

这个例子的意思是调用Integer类的构造方法,将数字格式的字符出串,传递到Integer类的构造方法中,创建Integer类的对象,包装这个字符串,需要将这个字符串转成基本数据类型还需要调用inValue()方法;

Integer类中的其他方法

(1)两个静态成员变量
MAX_VALUE
MIN_VALUE
这两个变量表示该类型的最大和最小值,如果需要知道其余的基本类型的取值范围,只需要用相应的包装类调用就可以,比如long类型的是:Long.MAX_VALUE Long.MIN_VALUE
(2)静态方法toBinarString(int )
十进制转二进制
(3)静态方法toOctalString(int)
十进制转八进制
(4)静态方法toHexString(int)
十进制转十六进制

自动装箱和自动拆箱

自动装箱:基本数据类型直接变成对象
自动拆箱:对象中的数据变回基本数据类型

	Integer in = 1;//自动装箱 相当于Integer in = new Integer(1);

		in = in +1;//等号右边:将in对象转换成基本数值(自动拆箱)in.intValue() + 1;加法运算后,再次装箱,把基本数值转换成对象

自动装箱与拆箱的好处:节省代码,基本类型和引用类型可以直接计算,方便操作
自动装箱与拆箱的缺点:容易出现Integer in = null;的代码,会报空指针异常

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值