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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_18948359/article/details/83119872

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

简介

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

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

基本数据类型 包装类
byte Byte
short Short
int Integer
long Long
char Character
float Float
double Double
boolean Boolean

包装类的分类

  • 对象型包装类(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);
	}
}

猜你喜欢

转载自blog.csdn.net/qq_18948359/article/details/83119872
今日推荐