簡體   English   中英

Java:線程中的數組異常

[英]Java: Arrays Exception in thread

為什么代碼沒有打印出我更改的變量計數,而創建了數組對象?

public class EchoTestDrive {
public static void main(String args[]) {
    Echo[] pets;
    pets = new Echo[7];
    pets[0] = new Echo();
    pets[0].count = 43;
    pets[1].count = 50;
    **System.out.println(pets[0].count);**//doesn't prints out
    **System.out.println(pets[1].count);**//doesn't prints out
    //prints out: Exception in thread "main" java.lang.NullPointerException
    // at EchoTestDrive.main(EchoTestDrive.java:8)
}
}

另一類

public class Echo {
int count = 0;
void hello(){
    System.out.println("helloooo... ");
   }
}
pets[1].count = 50;

由於pets[1] reference為null因此將引發java.lang.NullPointerException

System.out.println(pets[0].count);

如果您注釋掉了前一行,那么肯定會打印43。

System.out.println(pets[1].count);

如果注釋掉了, pets[1].count = 50; 行,則將引發相同的java.lang.NullPointerException因為pets[1]引用為null

簡而言之,您忘了初始化pets[1] ,該pets[1]應為-

pets[1] = new Echo();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM