Jump to content

java.lang.NullPointerException


Recommended Posts

Posted (edited)

for some reason I am getting a NullPointerException in this code,

I am trying to figure out if I should equip something (after death):

		for(Item equip: equipmentStart){
			if(!getEquipment().contains(equip.getName())){
				if(getInventory().contains(equip.getName())){
					return State.EQUIP;
				}
			}
		}

 

anyone knows whats wrong with it?

 

EDIT: equipmentStart = getEquipment().getItems();  in onStart()

Edited by HunterRS
Posted
4 minutes ago, HunterRS said:

for some reason I am getting a NullPointerException in this code,

I am trying to figure out if I should equip something (after death):


		for(Item equip: equipmentStart){
			if(!getEquipment().contains(equip.getName())){
				if(getInventory().contains(equip.getName())){
					return State.EQUIP;
				}
			}
		}

 

anyone knows whats wrong with it?

 

EDIT: equipmentStart = getEquipment().getItems();  in onStart()

Do you have it open up the equipment tab on start ? sometimes things cant be grabbed when the interface isnt up. Maybe get it to log the items after equipmentStart in the onStart to make sure its returning an item and not a null

  • Like 1
Posted

Which line does the NPE Point to? I think it might be the Equipment#contains which is inherited from the ItemContainer class which Equipment extends. 

In your onStart, it might be worth putting the data into a Map, i.e

HashMap<String, EquipmentSlot> initialItems

That way you can use Equipment#isWearingItem

Apa

Posted
Just now, whipz said:

Do you have it open up the equipment tab on start ? sometimes things cant be grabbed when the interface isnt up. Maybe get it to log the items after equipmentStart in the onStart to make sure its returning an item and not a null

It was because I had null items in my equipmentStart array, didnt know getItems also returns nulls.

Just now, Apaec said:

Which line does the NPE Point to? I think it might be the Equipment#contains which is inherited from the ItemContainer class which Equipment extends. 

In your onStart, it might be worth putting the data into a Map, i.e


HashMap<String, EquipmentSlot> initialItems

That way you can use Equipment#isWearingItem

Apa

ty, that could be useful, I'll look into that.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...