Hi Jared Folino.
I've asked a similar question a couple of days ago. I am quite sure that there is no difference in these two declarations
Moreover, I would say that besides from getting a couple of compiler warnings, you can always do without the generic parameter on the right hand side of such a declaration/instantiation. And why shouldn't you? What matters at compile time is the reference type and generics only exist at compile time. At runtime there is nothing like an ArrayList of Integers so writing
new ArrayList() or new ArrayList<Integer>()
should not make any difference
(Ok, the compiler won't let you get away with List<String> list = new ArrayList<Integer>(); but it could

)
So, to point it out, there is also no difference in these two declarations:
in both cases you 'll end up with a type safe reference to an ArrayList-object.
At least, that's what I think.
[ May 26, 2007: Message edited by: Sasha Ruehmkorf ]