Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #10834
| From | Knute Johnson <nospam@knutejohnson.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Generics ? |
| Date | 2011-12-17 11:25 -0800 |
| Organization | A noiseless patient Spider |
| Message-ID | <jciqaq$ujj$1@dont-email.me> (permalink) |
| References | (1 earlier) <ag5me7h7pph1d4n2b05uvgump03dp7ig0t@4ax.com> <jchb74$n8m$1@dont-email.me> <2eOdnXdWwdSD2HHTnZ2dnUVZ_t6dnZ2d@posted.palinacquisition> <jcimia$9dh$1@dont-email.me> <jcioh3$k6d$1@dont-email.me> |
On 12/17/2011 10:54 AM, markspace wrote:
> On 12/17/2011 10:20 AM, Knute Johnson wrote:
>> Which brings me back to my real question, can you
>> extend a generic class and still be generic?
>
>
> Yes of course.
>
>
> > model.addElement("test");
> > ^
> > required: E#1
> > found: String
> > reason: actual argument String cannot be converted to E#1 by method
> > invocation conversion
>
>
> The problem is that you don't *have* a generic type. You have a
> parametrized type of String. Otherwise, you can't stick a String in that
> thing. Which is why the compiler is complaining.
>
> Roedy's example compiles because it matches what you did. It
> parametrizes the type to String because that's what you have.
>
> No, you cannot have a "generic" class, then assume that you can also use
> "string" as a type. Generics specifically prevent that.
>
> You could put a bound on the type of E, like <E super String> and I
> think that would work (I didn't test it). But since that is basically
> String, CharSequence, or Object, it's really kinda limiting while being
> baroque at the same time. I'd just use "String" or "CharSequence" or
> "Object" unless you're really sure that the ability to parametrize that
> type is really important.
Thanks for that and to John for giving me direction to follow.
What I have learned about generics:
You can't have a generic class and then attempt to use non-generic
parameters. You can extend a parameterized(?) generic class (eg.
JList<String>) and do what I was trying to do to it but then you are
limited to String types, which is what I really needed anyway.
I did learn an interesting thing about JList however and that is that
the no-arg constructor creates an anonymous class for it's read-only
ListModel. I've got to look at the source and see what's up with that.
This has only come up because I'm trying to compile some old code that
was originally created in 1.5 and 1.6 with the new 1.7 compiler.
Thanks again everybody for the pointers.
--
Knute Johnson
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Generics ? Knute Johnson <nospam@knutejohnson.com> - 2011-12-15 21:48 -0800
Re: Generics ? Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-12-15 22:03 -0800
Re: Generics ? Tassilo Horn <tassilo@member.fsf.org> - 2011-12-16 08:30 +0100
Re: Generics ? Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-12-16 00:08 -0800
Re: Generics ? Roedy Green <see_website@mindprod.com.invalid> - 2011-12-16 02:10 -0800
Re: Generics ? Knute Johnson <nospam@knutejohnson.com> - 2011-12-16 22:01 -0800
Re: Generics ? Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-12-16 23:30 -0800
Re: Generics ? Knute Johnson <nospam@knutejohnson.com> - 2011-12-17 10:20 -0800
Re: Generics ? markspace <-@.> - 2011-12-17 10:54 -0800
Re: Generics ? Knute Johnson <nospam@knutejohnson.com> - 2011-12-17 11:25 -0800
Re: Generics ? Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-12-17 21:20 -0800
Re: Generics ? "Qu0ll" <Qu0llSixFour@gmail.com> - 2011-12-18 21:08 +1100
Re: Generics ? Lew <lewbloch@gmail.com> - 2011-12-18 08:17 -0800
Re: Generics ? markspace <-@.> - 2011-12-18 08:43 -0800
Re: Generics ? Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-12-17 11:33 -0800
Re: Generics ? Knute Johnson <nospam@knutejohnson.com> - 2011-12-17 11:40 -0800
Re: Generics ? Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-12-17 11:47 -0800
Re: Generics ? Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-12-17 15:13 -0500
Re: Generics ? Roedy Green <see_website@mindprod.com.invalid> - 2011-12-17 02:46 -0800
Re: Generics ? "John B. Matthews" <nospam@nospam.invalid> - 2011-12-17 11:18 -0500
Re: Generics ? Knute Johnson <nospam@knutejohnson.com> - 2011-12-17 11:16 -0800
csiph-web