Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Making the future safe for the past:
Adding Genericity to the Java Programming Language
Gilad Bracha, Sun Microsystems,
Martin Odersky, University of South Australia,
David Stoutamire, Sun Microsystems,
Philip Wadler, Bell Labs, Lucent Technologies
Proc. OOPSLA'98
We present GJ, a design that extends the Java programming language with
generic types and methods. These are both explained and implemented
by translation into the unextended language. The translation closely
mimics the way generics are emulated by programmers: it erases all
type parameters, maps type variables to their bounds, and inserts
casts where needed. Some subtleties of the translation are caused by
the handling of overriding.
GJ increases expressiveness and safety: code utilizing generic
libraries is no longer buried under a plethora of casts, and the
corresponding casts inserted by the translation are guaranteed
not to fail.
GJ is designed to be fully backwards compatible with the
current Java language, which simplifies the transition from non-generic to
generic programming. In particular, one can retrofit existing library
classes with generic interfaces without changing their code.
An implementation of GJ has been written in GJ,
and is freely available the web.