|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
[JAVA] Generics... come fare?
Salve a tutti.
Vorrei fare una classetta così: Codice:
...
private Callable<?> c;
public <V> Costruttore(Callable<V> c)
{
this.c = c;
}
public <V> V get()
throws Exception
{
return c.call();
}
In pratica vorrei riusare il parametro V del Callable in un altro metodo, in modo da mantenere la "genericità". Qualche idea (se si può fare)? Grazie
__________________
|Java Base| |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
non ho capito...
![]() ti da problemi il return del get? in quel caso credo basti fare un cast a V o no? oppure non ho capito una mazza di quello che hai chiesto...
__________________
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Anche con il cast mi dà un warning di type safety...
Il problema è quel '?' nel campo c, ci vorrei mettere 'V' ("V cannot be resolved to a type")
__________________
|Java Base| |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
se ho capito bene dovresti fare qualcosa di equivalente:
Codice:
import java.util.List;
public class Prova<V> {
private List<V> c;
public Prova(List<V> c)
{
this.c = c;
}
public V get()
throws Exception
{
return c.get(0);
}
}
__________________
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Sì, ma non voglio che la mia classe sia generica,
ma che prenda il tipo V dal parametro del costruttore, ma mi sto rendendo conto che tale parametro si può usare solo all'interno dello stesso metodo...
__________________
|Java Base| |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
tanto se sai già che l'oggetto che ricevi è un Callable<V>, allora puoi tranquillamente castare (V)c.call() che tanto il controllo è già stato effettuato in precedenza e il warning lo puoi tranquillamente ignorare Altre soluzioni non me ne vengono in mente se non vuoi rendere la classe generica..
__________________
|
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Grazie lo stesso...
Ma a questo punto ritorno Object, così mi scompare il warning.
__________________
|Java Base| |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:48.










|










