Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #4511
| From | "John B. Matthews" <nospam@nospam.invalid> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Java generics and type erasure |
| Date | 2011-05-23 22:54 -0400 |
| Organization | The Wasteland |
| Message-ID | <nospam-871A48.22542123052011@news.aioe.org> (permalink) |
| References | <9d4c2b16-beb5-40b1-87a2-f03e971efeed@k17g2000vbn.googlegroups.com> |
In article
<9d4c2b16-beb5-40b1-87a2-f03e971efeed@k17g2000vbn.googlegroups.com>,
Marcin Pietraszek <m.pietraszek@gmail.com> wrote:
> Some time ago I've encountered stange behaviour while using generics,
> small example is provided in gist:
>
> https://gist.github.com/977599
>
> Anybody could explain me why in second example (line commended with
> "compilation failure") compilation fails?
You neglected to specify the type parameter for foo2, specified in the
declaration Foo<T>. Without the actual type, <Boolean>, the compiler
can only infer that get() returns Object, as would have been the case
prior to generics:
import java.util.*;
public class Foo<T> {
private Map<String, Integer> bar = new HashMap<String, Integer>();
public static void main(String... args) {
Foo<Boolean> foo1 = new Foo<Boolean>();
Integer x1 = foo1.bar.get("x"); // ok
Foo<Boolean> foo2 = new Foo<Boolean>();
Integer x2 = foo2.bar.get("x"); // compilation failure
}
> Do you know any detailed description on how and when type erasure
> works in java?
"All of these parameterized types share the same class at runtime."
<http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.1.2>
See also, Bloch, ch. 5:
<http://java.sun.com/docs/books/effective/>
--
John B. Matthews
trashgod at gmail dot com
<http://sites.google.com/site/drjohnbmatthews>
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar
Java generics and type erasure Marcin Pietraszek <m.pietraszek@gmail.com> - 2011-05-23 13:18 -0700
Re: Java generics and type erasure "John B. Matthews" <nospam@nospam.invalid> - 2011-05-23 22:54 -0400
Re: Java generics and type erasure Lew <noone@lewscanon.com> - 2011-05-24 01:45 -0400
Re: Java generics and type erasure Marcin Pietraszek <m.pietraszek@gmail.com> - 2011-05-24 12:39 -0700
Re: Java generics and type erasure Ian Shef <invalid@avoiding.spam> - 2011-05-24 20:04 +0000
Re: Java generics and type erasure Lew <noone@lewscanon.com> - 2011-05-24 17:06 -0400
Re: Java generics and type erasure Ian Shef <invalid@avoiding.spam> - 2011-05-24 23:05 +0000
Re: Java generics and type erasure Susan Calvin <s.calvin@usr.invalid> - 2011-05-25 00:13 +0000
Re: Java generics and type erasure Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-26 10:18 +1200
Re: Java generics and type erasure Susan Calvin <s.calvin@usr.invalid> - 2011-05-26 01:12 +0000
Re: Java generics and type erasure Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-26 13:59 +1200
Re: Java generics and type erasure Susan Calvin <s.calvin@usr.invalid> - 2011-05-26 04:18 +0000
Re: Java generics and type erasure Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-26 18:48 +1200
Re: Java generics and type erasure Esmond Pitt <esmond.pitt@bigpond.com> - 2011-05-26 18:34 +1000
Re: Java generics and type erasure Lew <noone@lewscanon.com> - 2011-05-26 07:45 -0400
Re: Java generics and type erasure "John B. Matthews" <nospam@nospam.invalid> - 2011-05-26 15:25 -0400
Re: Java generics and type erasure Esmond Pitt <esmond.pitt@bigpond.com> - 2011-05-27 12:01 +1000
Re: Java generics and type erasure Lew <noone@lewscanon.com> - 2011-05-26 22:15 -0400
Re: Java generics and type erasure Esmond Pitt <esmond.pitt@bigpond.com> - 2011-05-27 13:04 +1000
Re: Java generics and type erasure Lew <noone@lewscanon.com> - 2011-05-27 01:27 -0400
Re: Java generics and type erasure Esmond Pitt <esmond.pitt@bigpond.com> - 2011-05-27 18:07 +1000
Re: Java generics and type erasure Lew <noone@lewscanon.com> - 2011-05-27 10:18 -0400
Re: Java generics and type erasure Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-27 17:03 +0000
Re: Java generics and type erasure Lew <noone@lewscanon.com> - 2011-05-27 13:27 -0400
Re: Java generics and type erasure Esmond Pitt <esmond.pitt@bigpond.com> - 2011-05-30 15:19 +1000
Re: Java generics and type erasure Tom McGlynn <taqmcg@gmail.com> - 2011-05-26 19:53 -0700
Re: Java generics and type erasure Lew <noone@lewscanon.com> - 2011-05-27 01:30 -0400
Re: Java generics and type erasure Esmond Pitt <esmond.pitt@bigpond.com> - 2011-05-27 18:09 +1000
Re: Java generics and type erasure Lew <noone@lewscanon.com> - 2011-05-27 10:22 -0400
Re: Java generics and type erasure Esmond Pitt <esmond.pitt@bigpond.com> - 2011-05-30 15:23 +1000
Re: Java generics and type erasure Lew <noone@lewscanon.com> - 2011-05-30 02:35 -0400
csiph-web