java中沒有sizeof()運算符來大概判斷數據的類型,但可以通過instanceof運算符判斷是否是基本類型對應的包裝類的實例來判斷基礎類型,話不多說上代碼
下面是一個判斷基礎類型的類。
1 public class BaseTypeDistinguish { 2 public static String baseTypeDistinguish(Object o) { 3 if (o instanceof Boolean) { 4 return "boolean"; 5 } else if (o instanceof Character) { 6 return "character"; 7 } else if (o instanceof Byte) { 8 return "byte"; 9 } else if (o instanceof Short) { 10 return "short"; 11 } else if (o instanceof Integer) { 12 return "integer"; 13 } else if (o instanceof Long) { 14 return "long"; 15 } else if (o instanceof Float) { 16 return "float"; 17 } else if (o instanceof Double) { 18 return "double"; 19 } 20 return "not base type"; 21 } 22 public static void baseTypeDistinguishPrint(Object o) { 23 System.out.print(o+" "); 24 System.out.println("This type is "+BaseTypeDistinguish.baseTypeDistinguish(o)); 25 } 26 }
System.out.println('你'+'好');
System.out.println("你"+"好");
你覺得這兩句的輸出結果會是什么呢 ~笑
附上兩個參考文檔
JAVA基本數據類型及其對應的包裝類 這篇文章有關基礎類型寫的很詳細
java判斷基本數據類型的方法 這里的代碼有點亂
另外,可以實例還可以通過getClass()方法獲取類名
public static String baseTypeDistinguishByGetClass(Object o) { return o.getClass().getTypeName(); } public static void baseTypeDistinguishByGetClassPrint(Object o) { System.out.print(o+" "); System.out.println("This type is "+BaseTypeDistinguish.baseTypeDistinguishByGetClass(o)); }
參考 java獲取變量的類型
char類型的變量做加減運算會自動轉成int型,而字符串的+運算則是拼接了。所以用' '與" "的兩個輸出是一個是int型一個是String類型的了。
