Parameterized Types for Java

Parameterized Types for Java” by Andrew C. Myers, Joseph A. Bank, and Barbara Liskov. In 24th ACM Symposium on Principles of Programming Languages (POPL), (New York, NY), 1997, pp. 132-145.


Java offers the real possibility that most programs can be written in a type-safe language. However, for Java to be broadly useful, it needs additional expressive power. This paper extends Java in one area where more power is needed: support for parametric polymorphism, which allows the definition and implementation of generic abstractions. We discuss both the rationale for our design decisions and the impact of the extension on other parts of Java, including arrays and the class library. We also describe optional extensions to the Java virtual machine to allow parameterized bytecodes, and how to verify them efficiently. We have extended the Java bytecode interpreter to provide good performance for parameterized code in both execution speed and code size, without slowing down non-parameterized code.

BibTeX entry:

   author = {Andrew C. Myers and Joseph A. Bank and Barbara Liskov},
   title = {Parameterized Types for {Java}},
   booktitle = {24th ACM Symposium on Principles of Programming Languages
   pages = {132--145},
   address = {New York, NY},
   year = {1997},
   url = {}

Also see all authors, all publications by date, and all publications by topic.

Programming Methodology Group