Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Lista con oggetti diversi

    Allora, ho una situazione un pò particolare...in pratica ho due oggetti così definiti:

    codice:
    public class Servizio implements Serializable
    codice:
    public class Referente extends PersonaGenerica implements Persona, Comparable<Persona>
    codice:
    public interface Persona extends Serializable
    Ora devo creare una lista che deve contenere sia Referenti che Servizi...e mi chiedevo se la definisco in questo modo

    codice:
    List <Serializable> elencoServiziEReferenti;
    incorro in qualche problema generico?
    Avete alternative?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    devi usare una superclasse/interfaccia comune ad entrambe.
    Es. se io ho

    codice:
       public interface InterfacciaComune{}
        public class ClasseNonComune{}
        public class MyClass1 extends ClasseNonComune implements InterfacciaComune{}
        public class MyClass2 implements InterfacciaComune{}
    con
    codice:
    List<InterfacciaComune> val = new ArrayList<InterfacciaComune>();
    sto chiedendo degli oggetti che rispondano alla mia interfaccia, indipendentemente dalla loro gerarchia MyClass1 e MyClass2 posso aggiungerli.
    Nel tuo caso tu in realtà stai aggiungendo tutti gli oggetti che implementano Serializable, ma non è sbagliato (visto che vai a dire che tipologia di elementi vuoi), un po poco restrittivo, ma corretto
    RTFM Read That F*** Manual!!!

  3. #3
    infatti la mia paura è quella...cioè sò che è corretto altrimenti mi sparavo...ma mi chiedevo se si potesse fare una qualcosa di più restrittivo...

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    puoi farlo, crea una interfaccia (anche vuota), imponi quella come implements (tanto puoi implementare più di una interfaccia) e hai ottenuto la tua restrizione

    non è bella come soluzione, ma fa al caso tuo
    RTFM Read That F*** Manual!!!

  5. #5
    Originariamente inviato da valia
    puoi farlo, crea una interfaccia (anche vuota), imponi quella come implements (tanto puoi implementare più di una interfaccia) e hai ottenuto la tua restrizione

    non è bella come soluzione, ma fa al caso tuo
    si effettivamente a questa soluzione non ci avevo pensato...una marker interface praticamente

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.