tag:blogger.com,1999:blog-5827559449744468549.post6134755640503736220..comments2016-06-22T19:50:28.984+01:00Comments on .: Java type erasure in practiceAnonymoushttp://www.blogger.com/profile/14045495966421770670noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-5827559449744468549.post-44467504976648463812016-01-30T20:55:19.892+00:002016-01-30T20:55:19.892+00:00Thanks Vlad, fixed the typo.Thanks Vlad, fixed the typo.Anonymoushttps://www.blogger.com/profile/14045495966421770670noreply@blogger.comtag:blogger.com,1999:blog-5827559449744468549.post-48616944967269611682016-01-30T16:50:20.366+00:002016-01-30T16:50:20.366+00:00(angle brackets got consumed as a tag)
The correc...(angle brackets got consumed as a tag)<br /><br />The correct signature would be:<br /><br />public <T extends Comparable & EventListener> void process3(T t) {}<br /><br />(Note '&')Anonymoushttps://www.blogger.com/profile/11635292359766913809noreply@blogger.comtag:blogger.com,1999:blog-5827559449744468549.post-42868726476744515552016-01-30T16:48:30.164+00:002016-01-30T16:48:30.164+00:00Hi David,
Your code is incorrect in case 3 and ca...Hi David,<br /><br />Your code is incorrect in case 3 and case 4. 'EventListener'/'Comparable' is seen as a second (unbounded) parameter, not related to the first parameter 'T'. Javap tells you about it:<br /><br />T extends java/lang/Comparable // <--- parameter 'T' that extends java.lang.Comparable<br />EventListener extends java/lang/Object // <--- parameter 'EventListener' that extends java.lang.Object<br /><br />The correct signature would be:<br /><br />public void process3(T t) {}<br /><br />(Note '&')Anonymoushttps://www.blogger.com/profile/11635292359766913809noreply@blogger.com