tags:

views:

129

answers:

3

I have been trying to create an array of a class containing two values but when I try to apply a value to the array I get a NullPointerException.

public class ResultList {
    public String name;
    public Object value;

    public ResultList() {}
}

.

public class Test {
    public static void main(String[] args){
        ResultList[] boll = new ResultList[5];
        boll[0].name = "iiii";
    }
}

Why am I getting this error and how can I fix it?

+16  A: 

You created the array but didn't put anything in it, so you have an array that contains 5 elements, all of which are null. You could add

boll[0] = new ResultList();

before the line where you set boll[0].name.

Nathan Hughes
With your instantiation, you will have a 5-element array containing : {null, null, null, null, null}.
enguerran
+1  A: 

i think by calling

 ResultList[] boll = new ResultList[5];

you created a list which can hold 5 ResultList, i think you have to initialize boll[0] before you set value.

boll[0] = new ResultList();
ufukgun
+1  A: 
ResultList[] boll = new ResultList[5];

creates an array of size=5, but does not create the array elements.

You have to instantiate each element.

for(int i=0; i< boll.length;i++)
    boll[i] = new ResultList();
chburd