I have an application which requires to check if a String is present in an array of String type, before adding it so as to avoid duplication. To do this, I wrote the following function:
public boolean arrayHas(String[] arr, String str)
{
for(int i=0;i<arr.length;i++)
{
if(arr[i].equals(str))
return true;
}
return false;
}
To invoke this function, I’m using:
if(!arrayHas(contacts,str))
{
contacts[i] = str;
i++;
}
contacts and str are declared as follows
public static String contacts[] = new String[]{};
String str = "";
Bundle bun = getIntent().getExtras();
str = bun.getString("key");
Elements are added to ‘contacts’ only through the main code, it is empty at the beginning. I tried adding a toast to display the value of ‘str’ received through the intent and it works fine. But I’m getting a NullPointerException in the ‘if’ statement in the arrayHas function. Could someone help me out?
Seems that you haven’t initialized the array with elements. So all of them are NULL.
In you arrayHas function check if the element you are comparing with is a null or not.
Also before calling arrayHas function in
put a check if contacts is null or not.