java動態定義二維數組問題

來源:互聯網
上載者:User

 昨天,想將查詢資料庫的內容複寫到二維數組中,但是總是NullPointerException,提示null 指標的異常。

反正我是自己研究了一個晚上,百度上看了很多的關於動態初始化二維數組的文章,但是就是沒找到我這種情況的。

無奈之下,我厚著臉皮向我的指導老師發出了請求的郵件,老師在百忙之中,還是很細心的為我解答。我看到老師回複的郵件豁然開朗。

下面將郵件的內容與大家分享!

Code:
  1. //對於自訂的類,當用它定義對象數組時,不僅要初始化元素的個數,還要new出每個數組元素,  
  2. //才真正初始化出了對象數組,才可以進行賦值等操作,否則就會出現NullPointerException(null 指標異常)!  
  3. class MultiDimensionArray // 一個自訂的類,用於定義**數組來測試用。  
  4. {  
  5.     public int a; // 定義成員變數a  
  6.     public int b; // 定義成員變數b  
  7.   
  8.     public MultiDimensionArray() // 無參建構函式  
  9.     {  
  10.         this.a = 0;  
  11.         this.b = 0;  
  12.     }  
  13.   
  14.     public MultiDimensionArray(int i, int j) // 有參建構函式  
  15.     {  
  16.         this.a = i;  
  17.         this.b = j;  
  18.     }  
  19. }  
  20.   
  21. public class ArrayDefinition {         //在這個類中,將使用上面的類來定義對象數組。  
  22.     public static void main(String[] args) {  
  23.         MultiDimensionArray objArray[][] = new MultiDimensionArray[3][]; //按你的方式定義一個對象數組!  
  24.         objArray[0]=new MultiDimensionArray[3];  //定義第一行的列數  
  25.           
  26.         objArray[0][0].a = 88;//此時這一句就出現NullPointerException,因為對象objArray[0][0]本身還沒new出來!  
  27.           
  28.         objArray[0][0]=new MultiDimensionArray();  //new出objArray[0][0]來,給該分配了空間。  
  29.           
  30.         objArray[0][0].a = 88;  //此時這條語句就沒錯了。  
  31.         //同理,對於自訂對象數組,要通過迴圈new出每個元素之後,才可以給它們賦值!  
  32.     }  
  33. }  

 最後,再次感謝一下老師!老師真的很有耐心!

ps:我的新部落格地址:http://www.xinghaixu.com

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.