Re: Advanced Java Generics syntax question
Dilum Ranatunga <[email protected]> Fri, 15 Feb 2008 17:20:45 -0600
| Newsgroups | gmane.comp.windows.devel.java.advanced |
|---|---|
| Message-ID | <[email protected]> |
Sorry -- I meant override. On Feb 15, 2008 5:20 PM, Dilum Ranatunga <[email protected]> wrote: > Note that doing this doesn't allow you to overload the super class's > method elegantly. For example: > > public void testAnonymousSubclass() { > List<String> list = new ArrayList<String>() { > public boolean contains(String candidate) { > if (candidate == null) { > return super.contains(null); > } > for (String element : this) { > if (candidate.equalsIgnoreCase(element)) { > return true; > } > } > return false; > } > }; > list.add("a"); > assertFalse(list.contains("A")); > // contains(Object) was called; not contains(String). > } > > > On Feb 15, 2008 3:19 PM, Brian Maso <[email protected]> wrote: > > Yup, that did it. That was driving me crazy! Thanks! > > > > Brian Maso > > > > > > At 01:08 PM 2/15/2008, you wrote: > > >Brian Maso wrote: > > >>I want to define an anonymous subclass of a generic class -- how do I > > >>set the parameter type? > > >> > > >>Here's a non-anonymous example of a subclass binding the superclass > > >>type variable: > > >> > > >>public LinkedListOfStrings extends LinkedList<String> { > > >> ... > > >>} > > >> > > >>That's no problem. Now let's say I want to do the same thing but with > > >>an anonymous inner class: > > >> > > >>class Outer { > > >> > > >> public void someMethod() { > > >> > > >> LinkedList<String> lls = new LinkedList() { <-- how do I > > >>indicate the superclass is LinkedList<String>? > > >> public void add( String s ) { ... } > > >> ... > > >> } > > >> > > >> } > > >> > > >>} > > > > > >Sorry, previous post had following line transposed. > > > > > >LinkedList<String> lls = new LinkedList<String>() { > > > public void add( String s ) { ... } > > >}; > > > > > >=================================== > > >This list is hosted by DevelopMentor(R) http://www.develop.com > > > > > >View archives and manage your subscription(s) at http://discuss.develop.com > > > > =================================== > > This list is hosted by DevelopMentor(R) http://www.develop.com > > > > > View archives and manage your subscription(s) at http://discuss.develop.com > > > =================================== This list is hosted by DevelopMentor® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com