java判定數據(對象)類型


1、說明一

int 是關鍵字,Integer是包裝類,Number是所有數字了的基類(父類)。所以,Number是Integer的基礎,Integer是int的基礎,也稱Integer是int的原型類。通稱,包裝類是基礎數據類型的原型類。

如:System.out.println(Integer.TYPE);  // 結果輸出為 int

延伸:

包裝類:Integer、Long、Short、Boolean、Byte、Character、Double、Float

基礎類型:int、long、short、byte、double、float、boolean、char

String對象。

2、說明二

java判斷數據類型的2中形式
(1)強轉為Object后,((Object)a) instanceof Integer 判斷。
(2)賦值給Object對象后,object1 instanceof String判斷。

 

java按照(2)中形式,判斷數據類型的代碼案例如下:

public class Testbzclass {

	public static void main(String[] args) {
		Object object1 = null;
		int a = 1;
		long b = 2;
		short c = 3;
		boolean d = true;
		byte e = 4;
		char f = 'p';
		double g = 1.22;
		float h = 3.0f;
		String s = "wahaha";
		Integer i = new Integer(7); // 創建int原型類對象
		object1 = a;
		object1 = b;
		object1 = c;
		object1 = d;
		object1 = e;
		object1 = f;
		object1 = g;
		object1 = h;
		object1 = s;
		object1 = i.byteValue(); // 以byte類型返回該Integer
		object1 = i.intValue(); // 以int型返回該Integer
		object1 = i.shortValue(); // 以short型返回該Integer
		object1 = i.toString(); // 以String對象返回該Integer
		object1 = null; // 未知類型;自定義類型

		if (object1 instanceof Integer) {
			System.out.println("is Integer");
		} else if (object1 instanceof Long) {
			System.out.println("is Long");
		} else if (object1 instanceof Short) {
			System.out.println("is Short");
		} else if (object1 instanceof Boolean) {
			System.out.println("is Boolean");
		} else if (object1 instanceof Byte) {
			System.out.println("is byte");
		} else if (object1 instanceof Character) {
			System.out.println("is Character");
		} else if (object1 instanceof Double) {
			System.out.println("is Double");
		} else if (object1 instanceof Float) {
			System.out.println("is Float");
		} else if (object1 instanceof String) {
			System.out.println("is String");
		} else {
			System.out.println("unknown type, or yourself type");
		}

	}

}

  

復雜版

public class Testbzclass {

	public static void main(String[] args) {
		Object object1 = null;
		int a = 1;
		long b = 2;
		short c = 3;
		boolean d = true;
		byte e = 4;
		char f = 'p';
		double g = 1.22;
		float h = 3.0f;
		String s = "wahaha";
		Integer i = new Integer(17); // 創建int原型類對象

		// 輸出原來的數據
		System.out.println("object1=" + object1);
		System.out.println("a=" + a);
		System.out.println("b=" + b);
		System.out.println("c=" + c);
		System.out.println("d=" + d);
		System.out.println("e=" + e);
		System.out.println("f=" + f);
		System.out.println("g=" + g);
		System.out.println("h=" + h);
		System.out.println("s=" + s);
		System.out.println("i=" + i);
		System.out.println();// 換行

		object1 = a;
		object1 = b;
		object1 = c;
		object1 = d;
		object1 = e;
		object1 = f;
		object1 = g;
		object1 = h;
		object1 = s;
		object1 = i.byteValue(); // 以byte類型返回該Integer
		object1 = i.intValue(); // 以int型返回該Integer
		object1 = i.shortValue(); // 以short型返回該Integer
		object1 = i.toString(); // 以String對象返回該Integer
		object1 = Integer.toBinaryString(i); // 以String對象返回i轉為二進制的字符串
		object1 = Integer.toHexString(i);// 以String對象返回i轉為十六進制的字符串
		object1 = Integer.toOctalString(i);// 以String對象返回i轉為八進制的字符串
		// object1 = null; // 未知類型;自定義類型

		// 判斷數據類型
		if (object1 instanceof Integer) {
			System.out.println(object1 + " is Integer");
		} else if (object1 instanceof Long) {
			System.out.println(object1 + " is Long");
		} else if (object1 instanceof Short) {
			System.out.println(object1 + " is Short");
		} else if (object1 instanceof Boolean) {
			System.out.println(object1 + " is Boolean");
		} else if (object1 instanceof Byte) {
			System.out.println(object1 + " is byte");
		} else if (object1 instanceof Character) {
			System.out.println(object1 + " is Character");
		} else if (object1 instanceof Double) {
			System.out.println(object1 + " is Double");
		} else if (object1 instanceof Float) {
			System.out.println(object1 + " is Float");
		} else if (object1 instanceof String) {
			System.out.println(object1 + " is String");
		} else {
			System.out.println("unknown type, or yourself type");
		}

	}

}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM