Java數組的反射

舉個栗子來說明,寫出通用的輸出方法:

  1. 數組類型,將元素逐個輸出
  2. 其他類型直接輸出
public static void printObject(Object obj) {
    Class clazz = obj.getClass();
    
    if(clazz.isArray()) {
        int len = Array.getLength(obj);    // java.lang.reflect.Array
        for(int i = 0; i < len; i++)
            System.out.print(Array.get(obj, i) + " ");
        System.out.println();
    }
    else
        System.out.println(obj);
}

注意:數組只有在元素類型相同、維度也相同時,類型才相同。
new int[3].getClass() == new int[4].getClass()
new int[3].getClass() != new int[3][1].getClass()

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,767評論 18 399
  • 數組在程序設計中,為了處理方便, 把具有相同類型的若干變量按有序的形式組織起來。這些按序排列的同類數據元素的集合稱...
    朱森閱讀 4,007評論 2 13
  • 一、基本數據類型 注釋 單行注釋:// 區域注釋:/* */ 文檔注釋:/** */ 數值 對于byte類型而言...
    龍貓小爺閱讀 4,290評論 0 16
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • “心安處 即吾家” 最好的風水 是房子的主人 對我來說,深圳的地標性建筑不是平安大廈也不是京基一百。而是遍布全城或...
    V_eyes閱讀 723評論 0 11