Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

32
  • 113
    I am somewhat curious as to the performance of this versus the searching functions in the Arrays class versus iterating over an array and using an equals() function or == for primitives. Commented Jul 15, 2009 at 0:06
  • 198
    You don't lose much, as asList() returns an ArrayList which has an array at its heart. The constructor will just change a reference so that's not much work to be done there. And contains()/indexOf() will iterate and use equals(). For primitives you should be better off coding it yourself, though. For Strings or other classes, the difference will not be noticeable. Commented Jul 15, 2009 at 0:09
  • 19
    Odd, NetBeans claims that 'Arrays.asList(holidays)' for an 'int[] holidays' returns a 'list<int[]>', and not a 'list<int>'. It just contains one single element. Meaning the Contains doesn't work since it just has one element; the int array. Commented Nov 13, 2010 at 13:15
  • 67
    Nyerguds: indeed, this does not work for primitives. In java primitive types can't be generic. asList is declared as <T> List<T> asList(T...). When you pass an int[] into it, the compiler infers T=int[] because it can't infer T=int, because primitives can't be generic. Commented Jun 14, 2011 at 16:51
  • 31
    @Joey just a side note, it's an ArrayList, but not java.util.ArrayList as you expect, the real class returned is: java.util.Arrays.ArrayList<E> defined as: public class java.util.Arrays {private static class ArrayList<E> ... {}}. Commented Oct 17, 2012 at 9:16