PDA

View Full Version : [JAVA]: simboli <E> ed <O>


robs05
17-09-2009, 09:42
Salve,

Sto ulilizzando una libreria in java http://www.run.montefiore.ulg.ac.be...software/jahmm/ solo che mi trovo di fronte a simboli come esempio

ObservationReader<O>
ObservationDiscrete<E>

In quale sezione dei libri java posso trovare spiegazioni riguardo ciò?

Ho intuito solo che la <E> sta per enumerazione.

Però dovrei vedere bene questa parte altrimenti non posso iniziare ad usare la libreria.

grazie

PGI-Bis
17-09-2009, 10:07
I simboli tra le <> denotano dei tipi generici.

Qui trovi di tutto e di più al riguardo:

http://www.angelikalanger.com/GenericsFAQ/FAQSections/Fundamentals.html#What are Java generics?

In breve, quella E e quella O sono dei segnaposto, destinati ad essere sostituiti con il nome di un tipo - classe, interfaccia, enumerativo - nei punti in cui il codice usa il tipo generico.

Si leggono "di/su/per".

ObservationReader<O>

sta per "ObservationReader di/su/per qualcosa". Quando usi quel tipo specifichi "qualcosa". Ad esempio:

ObservationReader<String> x = new ObservationReader<String>();

e si legge "Observation reader di String" (o per String o su String).

ObservationReader<O> è detto tipo generico, ObservationReader<String> è detto tipo parametrico. Il tipo parametrico ObservationReader<String> equivale al tipo generico ObservationReader<O> dove ogni "O" è sostituito con "String". Così se avessimo una tipo classe generico:

public class MioTipo<T> {
private T campo;
}

con il corrispondente parametrico:

MioTipo<String> istanza = new MioTipo<String>();

"istanza" equivale all'istanza di un ipotetico:

public class MioTipo {
private String istanza;
}

con il corrispondente parametrico:

MioTipo<Integer> istanza = new MioTipo<Istanza>();

"istanza" equivale all'istanza di un ipotetico:

public class MioTipo {
private Integer istanza;
}

Nelle faq del collegamento precedente trovi tutti i dettagli.