Artigo Acesso aberto

Adding Wildcards to the Java Programming Language.

2004; EtH Zurich; Volume: 3; Issue: 11 Linguagem: Inglês

10.5381/jot.2004.3.11.a5

ISSN

1660-1769

Autores

Mads Torgersen, Erik Ernst, Christian Plesner Hansen, Peter von der Ahé, Gilad Bracha, Neal Gafter,

Tópico(s)

Parallel Computing and Optimization Techniques

Resumo

This paper describes wildcards, a new language construct designed to increase the flexibility of object-oriented type systems with parameterized classes.Based on the notion of use-site variance, wildcards provide type safe abstraction over different instantiations of parameterized classes, by using '?' to denote unspecified type arguments.Thus they essentially unify the distinct families of classes that parametric polymorphism introduces.Wildcards are implemented as part of the addition of generics to the Java TM programming language, and is thus deployed world-wide as part of the reference implementation of the Java compiler javac available from Sun Microsystems, Inc.By providing a richer type system, wildcards allow for an improved type inference scheme for polymorphic method calls.Moreover, by means of a novel notion of wildcard capture, polymorphic methods can be used to give symbolic names to unspecified types, in a manner similar to the "open" construct known from existential types.Wildcards show up in numerous places in the Java Platform APIs of the newest release, and some of the examples in this paper are taken from these APIs.

Referência(s)
Altmetric
PlumX