Java基础知识回顾之常用数据类型的包装类

Java基础知识回顾之常用数据类型
Java基础知识回顾之常用数据类型的包装类

简介

Java 虽然是一门面向对象的编程语言,但是其包括的8种基本数据类型并不支持面向对象的编程机制。也就说基本数据类型不具备“对象”的特性。例如:没有属性、没有方法可以调用。

为了解决8个基本数据类型的变量不能当成 Object 类型变量使用的问题,在Java中引入了包装类,通过包装类,可以将8个基本数据类型分别定义为相应的引用类型。

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
charCharacter
floatFloat
doubleDouble
booleanBoolean

包装类的分类

  • 对象型包装类(Object 直接子类):Character,Boolean。
  • 数值型包装类(Number 直接子类):Byte,Short,Integer,Float,Double,Long;

Number类

Number是一个抽象类,里面一共定义了6个方法:intValue().doubleValue(),floatValue(),byteValue(),shortValue(),longValue().

基本数据类的装箱与拆箱

  • 装箱操作:将基本数据类型变为包装类的形式
    • 包装类中的构造方法都可以接收各自数据类的变量。
  • 拆箱操作:从包装类之中取出被包装的数据
    • 利用 Number 类中提供的方法完成(上面说到的 xxxValue)

代码示例

public class TestDemo {

	public static void main(String[] args) {
		
		/***  int类型  ***/
		Integer obj = new Integer(10);// 将基本数据装箱
		int temp = obj.intValue();// 将基本数据类型拆箱
		System.out.println("Num:" + temp*3);
		
		/***  Double类型  ***/
		Double obj1 = new Double(10.3);// 将基本数据装箱
		double temp1 = obj1.doubleValue();// 将基本数据类型拆箱
		System.out.println("Num:" + temp1 * 3);
		
		/***  Boolean类型  ***/
		Boolean obj2 = new Boolean(true);// 将基本数据装箱
		boolean temp2 = obj2.booleanValue();// 将基本数据类型拆箱
		System.out.println(temp2);

	}
}

自动拆箱与装箱

public class Demo {
	public static void main(String[] args) {
		Integer obj = 10;// 自动装箱
		int temp = obj;// 自动拆箱
		obj++;
		System.out.println("Num:" + temp * obj);
	}
}

使用包装类声明的变量比较

通过下面的代码可以看到一点,就是使直接赋值的方式,产生的对象是相等的,但是使用 new 关键产生就不相等了。这点和 String 类的声明一致。在对象作为比较的时候,最好使用 equals()

public class TestDemo {

	public static void main(String[] args) {

		Integer obja = 10;// 直接赋值
		Integer objb = 10;// 直接赋值
		Integer objc = new Integer(10);
		System.out.println(obja == objb);		// true
		System.out.println(obja == objc);		// false
		System.out.println(objb == objc);		// false
		// 判断内容是否相同要用equals()
		System.out.println(obja.equals(objc));	// true
	}
}

使用 Object 类操作

public class TestDemo {

	public static void main(String[] args) {
		
		// Integer 操作
		Object obj = 10;
		int num = (Integer) obj;
		System.out.println("Num=" + num * 3);
		
		// Double 操作
		Object obj1 = 10.3;
		double num1 = (Double) obj1;
		System.out.println("Num=" + num1 * 3);

	}
}

数据类型转换

就是使用包装类的方法,对常用的数据类型进行转换。下面列出一部分:

  • Integer 类: public static int parseInt(String s);
  • Double 类: public static double parseDouble(String s);
  • Boolean 类:public static boolean parseBoolean(String s);
public class TestDemo {

	public static void main(String[] args) {
		
		// int
		String intStr = "123";
		int numInt = Integer.parseInt(intStr);

		// double
		String doubleStr = "1.3";
		double numDouble = Double.parseDouble(doubleStr);

		// boolean
		String str = "true";
		boolean flag = Boolean.parseBoolean(str);
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java基本数据类型包装类Java用来表示据的两不同方式。 1. 基本数据类型(Primitive Data Types): - Java的基本数据类型有8:byte、short、int、long、float、double、char和boolean。 - 这些基本数据类型直接存储着据的值,它们是直接操作内存的,因此效率较高。 - 基本数据类型不具有任何方法,不能调用任何方法。 2. 包装类(Wrapper Classes): - 包装类是用来将基本数据类型包装起来,以便能够以对象的形式使用。 - Java提供了对应于每基本数据类型包装类:Byte、Short、Integer、Long、Float、Double、Character和Boolean。 - 包装类提供了许多有用的方法,可以进行类型转换、比较、运算等操作。 - 包装类是不可变的(immutable),即一旦创建就无法修改其值。 区别: - 基本数据类型是直接存储据的值,而包装类是将基本数据类型包装成对象。 - 基本数据类型效率较高,而包装类的效率较低,因为需要进行对象的创建和销毁操作。 - 基本数据类型不能调用任何方法,而包装类提供了许多有用的方法。 - 包装类可以用于泛、集合类等需要对象作为参的场景,而基本数据类型则不能直接使用。 - 基本数据类型在内存占据的空间大小是固定的,而包装类的内存消耗较大,因为需要额外存储一些信息。 总的来说,基本数据类型适合用于简单的据操作,而包装类适合用于需要更多功能和灵活性的场景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wayfreem

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值