I’m familiar with the ways I can get an element position in array, especially the ones showed here: Element position in array
But my problem is I can’t figure out how to convert this code to fit my needs.
What I want to check is if a String has a match in an ArrayList and if so, what’s the index of the String in the ArrayList.
The annoying part is I managed to verify the String is in the ArrayList (see first line of my code)
listPackages is the ArrayList
current_package is the String I want to find its position in listPackages.
Here’s my code:
if (listPackages.contains(current_package)) {
int position = -1;
for(int j = 0; j < listPackages.size(); j++) {
if(listPackages[j] == current_package) {
position = j;
break;
}
}
}
Would appreciate any help!
Thanks!
Use
indexOf:Note that you shouldn’t generally use
==to compare strings – that will compare references, i.e. whether the two values are references to the same object, rather than to equal strings. Instead, you should callequals(). That’s probably what was going wrong with your existing code, but obviously usingindexOfis a lot simpler.