I have
int myArray[]= {12,23,10,22,10};
So i want to get index of 23
from myArray
with out iterating any loop (for
,while
...) .
I would do something like Arrays.asList(myArray).indexOf(23)
This is not work for me . I get -1
as output .
This is work with String[]
Like
String myArray[]= {"12","23","10","22","10"};
Arrays.asList(myArray).indexOf("23")
So why this is not working with int[]
? ?
Integer myArray[]= {12,23,10,22,10};
System.out.println(Arrays.asList(myArray).indexOf(23));
will solve the problem
Arrays.asList(myArray).indexOf(23)
this search about objects so we have to use object type of int
since int
is primitive type.
String myArray[]= {"12","23","10","22","10"};
Arrays.asList(myArray).indexOf("23");
In second case this will work because String
is object.
When we define a List
,We define it as List<String>
or List<Integer>
. so primitives are not use in List
. Then Arrays.asList(myArray).indexOf("23")
find index of equivalent Object.
I concur with Ruchira, and also want to point out that the problem has to do with the fact that int
is a primitive while String
and Integer
are actual objects. (note I would have posted this as a comment but can't until 50 reputation ;) )
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With