Cos'è Generics in Java? - Una guida per principianti



Questo articolo sui generici in Java fornirà una breve panoramica su cosa sono i generici java e sui suoi vari tipi insieme ad esempi.

Considera un esempio in cui devi fare un elenco degli esseri viventi in una località. Non importa se si tratta di un essere umano, un animale o una pianta. Tutto ciò che conta è una cosa viva. In questo caso, le raggrupperesti tutte come 'cose ​​viventi' e non le classificheresti. Allo stesso modo, quando devi memorizzare alcuni dati, ciò che conta per te è il contenuto e non il tipo di dati, ed è qui che usi Generics. Generici in è una funzionalità del linguaggio che consente l'uso di tipi e metodi generici.

differenza tra html e xml

Di seguito è riportato l'elenco degli argomenti che tratterò in questo articolo:





Cos'è Generics in Java?

Generici è un termine che denota un insieme di caratteristiche del linguaggio relative alla definizione e all'uso di tipi e metodi generici. I metodi Java Generic differiscono dai normali tipi di dati e metodi. Prima di Generics, abbiamo utilizzato il per memorizzare qualsiasi tipo di oggetto es. non generico . Ora, i generici forzano il programmatore per memorizzare un tipo specifico di oggetti.

Ora che sai cos'è Generics in Java, andiamo oltre e capiamo perché hai bisogno di Java Generics.



Perché Java Generics?

Se guardi il file classi, quindi osserverai che la maggior parte delle classi accetta parametri / argomenti di tipo Object. Fondamentalmente, in questa forma, possono prendere qualsiasi tipo Java come argomento e restituire lo stesso oggetto o argomento. Sono essenzialmente eterogeneo cioè non di un tipo simile.

FrameworkHierarchy - Generics in Java - Edureka

A volte nell'applicazione Java, il tipo di dati dell'input non è fisso. L'input può essere un file numero intero , per galleggiante o . Per assegnare l'ingresso al file del tipo di dati corretto, è stato necessario effettuare controlli preventivi. Nell'approccio tradizionale, dopo aver preso l'input, il tipo di dati dell'input veniva verificato e quindi assegnato alla variabile del tipo di dati corretto. Quando è stata utilizzata questa logica, la lunghezza del codice e il tempo di esecuzione sono stati aumentati. Per evitare questo, Furono introdotti i generici . Quando usi Generics, i parametri nel codice vengono controllati automaticamente al momento della compilazione e imposta il tipo di dati per impostazione predefinita. Quindi è qui che hai bisogno del concetto di generici in Java.



Ora che hai acquisito alcune informazioni sui generici, andiamo avanti e vediamo i vari modi in cuiI generici possono essere applicati al codice sorgente.

Tipi di generici Java

Esistono 4 diversi modi in cui i generici possono essere applicati in Java e sono i seguenti:

  1. Classe di tipo generico
  2. Interfaccia generica
  3. Metodo generico
  4. Costruttore generico

Ora vediamo in che modo i generici possono essere applicati in modo approfondito alla classe di testo.

1. Classe di tipo generico

Una classe si dice generica se dichiara una o più variabili di tipo. Questi tipi di variabili sono noti come parametri di tipo di . Capiamo questo con l'aiuto di un esempio. Nell'esempio seguente, creerò una classe con una proprietà X e il tipo di proprietà è un oggetto.

class Genericclass {private Object x public void set (Object x) {this.x = x} public Object get () {return x}}

Qui, una volta inizializzata la classe con un certo tipo, la classe dovrebbe essere usata solo con quel particolare tipo. Per esempio. Se vuoi che un'istanza della classe contenga il valore X di tipo ' Corda ', Quindi il programmatore dovrebbe impostare e ottenere l'unico genere. Poiché ho dichiarato il tipo di proprietà su Object, non è possibile applicare questa restrizione. Un programmatore può impostare qualsiasi oggetto e può aspettarsi qualsiasi tipo di valore restituito da ottenere il metodo poiché tutti i tipi Java sono sottotipi di classe.

Per applicare questo tipo di restrizione, possiamo utilizzare i generici come di seguito:

class Genericclass {// T sta per 'Type' private T x public void set (T x) {this.x = x} public T get () {return x}}

Ora puoi essere certo che la classe non verrà usata in modo improprio con tipi sbagliati. Un semplice esempio di' Genericclass 'Ha l'aspetto mostrato di seguito:

Genericclass instance = new Genericclass () instance.set ('Edureka') instance.set (10) // Questo solleverà un errore in fase di compilazione

Ecco come funziona. Questol'analogia è vera anche per l'interfaccia. Vediamo rapidamente un esempio per capire come le informazioni sui tipi generici possono essere utilizzate nelle interfacce in java.

2. Interfaccia generica

Un si riferisce ai tipi di dati astratti. Loro permettono essere manipolati indipendentemente dai dettagli della loro rappresentazione. Inoltre, formano una gerarchia in le lingue. Vediamo come il tipo generico può essere applicato alle interfacce in Java.

// Interfaccia di definizione dell'interfaccia generica GenericInterface {T2 PerformExecution (T1 x) T1 ReverseExecution (T2 x)} // Una classe che implementa la classe di interfaccia generica Genericclass implementa GenericInterface {public Integer PerformExecution (String x) {// codice di esecuzione} public String ReverseExecution ( Intero x) {// codice di esecuzione}}

Spero che tu sia riuscito a capire come i generics possono essere applicati alla classe di tipo e alle interfacce. Ora approfondiamo questo articolo e capiamo come è utile per metodi e costruttori.

3. Metodi generici

I metodi generici sono molto simili alle classi generiche. Differiscono l'uno dall'altro in un solo aspetto che il le informazioni sull'ambito o sul tipo sono solo all'interno del metodo. I metodi generici introducono i propri parametri di tipo.

Capiamo questo con un esempio. Di seguito è riportato un esempio di un metodo generico che può essere utilizzato per trovare tutte le occorrenze dei parametri di tipo in un elenco di variabili.

public static int countAllOccurrences (T [] list, T element) {int count = 0 if (element == null) {for (T listElement: list) if (listElement == null) count ++} else {for (T listElement: list ) if (element.equals (listElement)) count ++} return count}

Se passi un elenco di file Stringa per cercare in questo metodo, funzionerà bene. Ma se provi a trovare un numero nell'elenco di String, darà un errore in fase di compilazione.

Anche questa analogia è simile al costruttore. Facciamo un esempio per il costruttore generico e capiamo come funziona.

4. Costruttore generico

Al costruttore è un blocco di codice che inizializza l'oggetto appena creato. UN costruttore assomiglia a un metodo di istanza in J ava ma non è un metodo in quanto non ha un tipo di ritorno. Il costruttore ha lo stesso nome della classe e ha questo aspetto in J ava codice. Ora facciamo un esempio e capiamo come funziona.

classe Dimension {private T length private T width private T height // Generic constructor public Dimension (T length, T width, T height) {super () this.length = length this.width = width this.height = height}}

Nell'esempio precedente, il costruttore della classe Dimension ha le informazioni sul tipo. Quindi puoi avere un'istanza di dimensione con tutti gli attributi di un solo tipo. Quindi è così che puoi usare i costruttori di tipi generici. Spero che tu abbia capito i tipi di generici in Java.

Ora andiamo oltre e guardiamo i vantaggi dei generici in Java.

Vantaggi dei generici in Java

1. Riusabilità del codice

Puoi comporre una strategia o una classe o un file una volta e utilizzalo per qualsiasi tipo o in qualsiasi modo tu abbia bisogno.

2. La trasmissione di singoli tipi non è richiesta

Fondamentalmente, hai recuperato le informazioni da ogni volta, è necessario modificarlo. Il typecasting ad ogni attività di recupero è una grave emicrania. Per sradicare questo approccio, sono stati introdotti i generici.

3. Implementazione di un algoritmo non generico

quale ide usare per java

Può calcolare gli algoritmi che funzionano su vari tipi di elementi che sono anche indipendenti dai tipi.

Questo era tutto sui vantaggi di Java Generics. Con questo, arriviamo alla fine di questo articolo sui Generics in Java. Spero che tu l'abbia trovato informativo e ti abbia aiutato a comprendere Java Generics.

Controlla il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Siamo qui per aiutarti in ogni fase del tuo viaggio, per diventare oltre a queste domande di intervista Java, abbiamo creato un curriculum progettato per studenti e professionisti che vogliono essere uno sviluppatore Java. Il corso è progettato per darti un vantaggio nella programmazione Java e formarti sia sui concetti di base che avanzati su Java insieme a vari framework Java come Hibernate e Spring.

Hai domande per noi? Si prega di menzionarlo nella sezione commenti di questo 'Generics in Java 'Articolo e ti risponderemo il prima possibile.