Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Generici ed enum

  1. #1

    Generici ed enum

    Ho googlato parecchio ma non ho trovato nessuna soluzione... esiste un modo per ciclare su tutti i possibili valori contenuti un un tipo enum dato come parametro generico?

    codice:
    class pippo < TipoEnum extends ?????? > {
     ...
    }
    Grazie.
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Generici ed enum

    Originariamente inviato da GreyFox86
    esiste un modo per ciclare su tutti i possibili valori contenuti un un tipo enum dato come parametro generico?

    codice:
    class pippo < TipoEnum extends ?????? > {
    Dovresti spiegare meglio cosa vuoi fare e cosa vuoi mettere nella riga sopra, perché non è molto chiaro.

    Innanzitutto se vuoi mettere un "bound" sul tipo parametrico in modo che possa accettare solamente delle enum, allora devi mettere:

    codice:
    class Prova<E extends Enum<E>> { }
    È così che volevi fare? Cioè fare in modo che si possano creare istanze di Prova potendo specificare come tipo parametrico solamente una enum?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Si è esattamente quello che volevo fare, grazie.
    L'unica cosa che non capisco è perchè adesso avendo
    codice:
    public abstract class AccedereReport<EnumTipoReport extends Enum<EnumTipoReport>, 
    	Executor extends BaseE> extends JFrame implements Base {
    Non riesco a chiamare alcun metodo statico sul EnumTipoReport, che visto l'extends mi aspettavo dovessero essere tutti quelli di un enum generico (in particolare a me servirebbe chiamare EnumTipoReport.values()).
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Ma EnumTipoReport è una tua classe?? Perché lì in quel punto "EnumTipoReport" è solo una type variable.

    E poi devi anche tenere presente che c'è la erasure!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    No, EnumTipoReport è il nome che do al generico. Le enum che dovrò passare per specializzare il generico sono altri.
    Cmq è vero, avevo giusto trovato in giro qualcosa a riguardo ed in effetti mi sono reso conto di non poterle usare per chiamare metodi di classe.

    Ho trovato questo articolo: http://gafter.blogspot.com/2006/12/s...pe-tokens.html
    Spero che quel pattern possa aiutarmi a risolvere.
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

  6. #6
    Perfetto, ci sono riuscito. Grazie mille
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.