JAVA(1)之關於對象數組作形參名的方法的使用


public class Test{
int tour;
public static void cs(Test a[]) {
        for (int i = 0; i < a.length; i++) {
            a[i]=new Test();//此處為解決代碼
            a[i].tour=i;
        }
    }
 
 
         
 
        

之前只是把對象數組作為形參時,然后Eclipse報出Exception in thread "main" java.lang.NullPointerException的異常,后來查了一下,是因為對象數組的每一個元素還沒有分配空間,所以添加完代碼以后,此方法正常運行。

  總結:1.基本類型數組用new運算之后,就直接給每個數組元素分配了空間,而我們自定義的對象數組屬於引用型數組,所以在使用時,需要用for循環對每個數組元素進行new運算,                  分配空間。

            2.而String類型數組也是引用型數組,但是庫里有,所以Eclipse默認它為“基本類型”。(在這里我糾正一下,String類型數組元素也要進行一下new運算,才有新的內存空間,不然就是空引用)

補充:上面的解決辦法繼續優化,即為

public class Test{
int tour;
public static void cs(Test a[]) {
        for (int i = 0; i < a.length; i++) {
                      a[i].tour=i;
        }
public static void main (String[] args){
Test[] c =new Test[5];
for(int i=0;i<c.length;i++)//直接在對象數組創建后,再另外為每個對象數組單個元素通過
c[i]=new Test();//new運算分配新的動態內存空間;
}
    }

 

上述說明只代表個人認知,如果與實際不符,還望前輩指正。

 


免責聲明!

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



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