Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #10595
| Newsgroups | comp.lang.java.programmer |
|---|---|
| Subject | Re: Question re testing constructor |
| From | Ian Shef <invalid@avoiding.spam> |
| References | <Xns9FB3682A7DBF6jpnasty@94.75.214.39> <jblc1i$n6u$1@dont-email.me> <null-20111206201830@ram.dialup.fu-berlin.de> <Xns9FB3B1EDDE309vaj4088ianshef@138.125.254.103> <26281492.354.1323270874867.JavaMail.geo-discussion-forums@pret21> |
| Message-ID | <Xns9FB45B83313A1vaj4088ianshef@138.125.254.103> (permalink) |
| Date | 2011-12-07 15:59 +0000 |
| Organization | Raytheon Company |
Lew <lewbloch@gmail.com> wrote in news:26281492.354.1323270874867.JavaMail.geo-discussion-forums@pret21: > Ian Shef wrote: >> Discussion: The JLS seems to treat casting separately from the >> operations (such as calling a method) that would follow a cast. It >> "feels like" this doesn't need to be the case. Thus I agree with >> Stefan that it "feels like" the compiler or an IDE could catch this at >> compile time (Eclipse does not) if the JLS permitted or required it. >> Perhaps someone can explain why this is not the case. > > Short answer: Because despite its best efforts, the compiler cannot cure > stupidity. Agreed. > > The compiler likely sees this as not different from > '((PrintStream)variable).println()', i.e., as a candidate for a > 'NullPointerException' rather than a compiler error. That would seem to be the intent of the JLS. The compiler follows the rules laid down by the JLS. On the other hand, there are many places in the JLS where constants or literals are treated specially, and where responsibility is shared between the compiler and the JVM. Casts are not treated this way and are the responsibility of the JVM (with some minor exceptions, such as when the compiler can guarantee that a cast is unnecessary e.g., a widening reference conversion). My preference is to find such errors as early as possible. However, the compiler can't save programmers from all folly. _Java Puzzlers_ by Joshua Bloch and Neal Gafter has other examples where a cast is "obviously" an error but it won't be caught until run time. [My copy of the book is currently 25 miles away, so I can't provide a more precise reference.]
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Question re testing constructor Novice <novice@example..com> - 2011-12-06 15:14 +0000
Re: Question re testing constructor markspace <-@.> - 2011-12-06 07:23 -0800
Re: Question re testing constructor Novice <novice@example..com> - 2011-12-06 17:17 +0000
Re: Question re testing constructor Tom Anderson <twic@urchin.earth.li> - 2011-12-06 21:25 +0000
Re: Question re testing constructor Ian Shef <invalid@avoiding.spam> - 2011-12-07 00:29 +0000
Re: Question re testing constructor Patricia Shanahan <pats@acm.org> - 2011-12-06 19:28 -0800
Re: Question re testing constructor Joshua Cranmer <Pidgeot18@verizon.invalid> - 2011-12-06 22:57 -0600
Re: Question re testing constructor Lew <lewbloch@gmail.com> - 2011-12-07 07:12 -0800
Re: Question re testing constructor Lew <lewbloch@gmail.com> - 2011-12-07 07:14 -0800
Re: Question re testing constructor Ian Shef <invalid@avoiding.spam> - 2011-12-07 15:59 +0000
Re: Question re testing constructor Ian Shef <invalid@avoiding.spam> - 2011-12-08 19:19 +0000
Re: Question re testing constructor ilAn <idonot@wantspam.net> - 2011-12-07 20:41 +0200
Re: Question re testing constructor Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-12-06 07:34 -0800
Re: Question re testing constructor Novice <novice@example..com> - 2011-12-06 17:15 +0000
Re: Question re testing constructor Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-12-06 09:49 -0800
Re: Question re testing constructor Roedy Green <see_website@mindprod.com.invalid> - 2011-12-06 16:40 -0800
Re: Question re testing constructor Henk van Voorthuijsen <voorth@xs4all.nl> - 2011-12-07 00:33 -0800
csiph-web