Come ottenere il tipo di oggetto in Java?

Come Ottenere Il Tipo Di Oggetto In Java



Un oggetto è un'entità fisica che ha il proprio stato e comportamento e agisce come un'istanza univoca di una classe Java. Esso. Quando l'oggetto proviene da una fonte, si ritiene utile esaminare il tipo di oggetto. Inoltre, conoscere il tipo di un oggetto è fondamentale quando si lavora con una raccolta che include oggetti diversi o quando è necessario eseguire l'operazione logica con lo stesso tipo di variabili.

Questo articolo ti aiuterà a imparare il metodo per ottenere il tipo di un oggetto in Java.

Come ottenere il tipo di oggetto in Java?

Per ottenere il tipo di oggetto classe predefinito o definito dall'utente in Java, puoi usare:







  • getClass() metodo
  • istanza di operatore

Ora esamineremo ciascuno dei metodi menzionati uno per uno!



Metodo 1: Ottieni il tipo di oggetto di classe predefinito utilizzando il metodo getClass()

In Java, abbiamo classi predefinite come classi wrapper come String, Double, Integer e molte altre. A volte è necessario verificare il tipo di oggetto durante l'utilizzo di classi predefinite. A questo scopo, Java offre un ' getClass() ” metodo che appartiene al “ Oggetto ' classe.



Sintassi
La sintassi di ' getClass() ” è dato come segue:





X. getClass ( )

Qui, il “ getClass() ' il metodo restituirà la classe del ' X ” oggetto.

Esempio
In questo esempio creeremo un oggetto di tipo String chiamato ' X ” contenente il seguente valore:



Corda X = 'Ciao' ;

Successivamente, stamperemo un'istruzione utilizzando ' System.out.println() ' metodo:

Sistema . fuori . println ( 'x appartiene a?' ) ;

Infine, otterremo il tipo dell'oggetto ' X ” chiamando il “ getClass() ' metodo:

Sistema . fuori . Stampa ( X. getClass ( ) ) ;

L'output mostra che la variabile creata appartiene alla classe Java String:

Vediamo un altro metodo per ottenere il tipo di oggetto utilizzando l'operatore 'instanceof'.

Metodo 2: ottenere il tipo di oggetto di classe predefinito utilizzando l'operatore 'instanceof'.

Puoi anche utilizzare il ' istanza di ” per verificare il tipo di oggetto in un programma Java. Questo operatore restituisce un valore booleano che indica se l'oggetto è un'istanza di una particolare classe o meno.

Sintassi
La sintassi di ' istanza di ' è come segue:

X istanza di Numero intero

Qui, ' X ” è un oggetto e “ Numero intero ” è la classe wrapper Java predefinita. Il ' istanza di L'operatore ” controlla se l'oggetto appartiene o meno alla classe menzionata e restituisce un valore booleano.

Esempio
In questo esempio, abbiamo un oggetto ' X ” della classe Intero avente “ 5 ” come suo valore:

Numero intero X = 5 ;

Successivamente, stamperemo un'istruzione utilizzando ' System.out.println() ' metodo:

Sistema . fuori . Stampa ( 'x è un'istanza della classe Integer?' ) ;

Ora verificheremo se l'oggetto è un'istanza di una classe Integer o meno:

Sistema . fuori . Stampa ( X istanza di Numero intero ) ;

L'output visualizzato ' VERO ” come l'oggetto “ X ” è un'istanza della classe Integer:

A questo punto, ti starai chiedendo come ottenere il tipo di oggetto classe definito dall'utente. La sezione seguente ti aiuterà in questo senso.

Metodo 3: Ottieni il tipo di oggetto classe definito dall'utente utilizzando il metodo getClass()

Puoi anche ottenere il tipo dell'oggetto classe definito dall'utente con l'aiuto di ' getClass() ' metodo. In uno scenario del genere, confronteremo l'oggetto con il nome della classe usando ' == ” operatore di confronto.

Sintassi
Per lo scopo specificato, la sintassi di ' getClass() ” è dato come:

miaclassOggetto getClass ( ) == La mia classe. classe

Qui, il “ getClass() ” metodo è chiamato dal “ miaclassOggetto ” oggetto del “ La mia classe ” e quindi confrontato con il nome utilizzando l'operatore di confronto “ == ”.

Esempio
In questo esempio, abbiamo tre classi denominate ' La mia classe ”, “ MynewClass ', e ' Esempio ”, dove MyClass funge da classe padre di MynewClass:

classe La mia classe { }

Il ' MynewClass ” è una classe figlio in quanto è estesa da “ La mia classe ”:

classe MynewClass si estende La mia classe { }

Nel metodo main() della classe “ Esempio ”, dichiareremo e istanziare un oggetto della classe genitore “ La mia classe ”. Quindi controlla se l'oggetto creato appartiene a quale classe; genitore o figlio? Per farlo, chiameremo il ' getClass() ” con l'oggetto creato e confrontare il valore risultante con i nomi delle classi padre e figlio usando le condizioni if-else-if:

pubblico classe Esempio {
pubblico statico vuoto principale ( Corda [ ] arg ) {
MyClass myclassObj = nuovo La mia classe ( ) ;
Se ( miaclassOggetto getClass ( ) == La mia classe. classe ) {
Sistema . fuori . println ( 'L'oggetto 'myclassObj' è un tipo di 'MyClass'' ) ;
} altro Se ( miaclassOggetto getClass ( ) == MynewClass. classe ) {
Sistema . fuori . println ( 'L'oggetto 'myclassObj' è un tipo di 'MynewClass'' ) ;
}
}
}

L'output indica che l'oggetto ' miaclassOggetto ” appartiene alla classe genitore denominata “ La mia classe ”:

Ora, vai verso la prossima sezione!

Metodo 4: ottenere il tipo di oggetto classe definito dall'utente utilizzando l'operatore 'instanceof'.

Simile alle classi predefinite, per le classi definite dall'utente, puoi anche ottenere il tipo di oggetto usando il ' istanza di operatore.

Sintassi
La sintassi è riportata di seguito:

miaclassOggetto istanza di La mia classe

Qui, il “ istanza di ” l'operatore verificherà se il “ miaclassOggetto ” è un'istanza di “ La mia classe ' o no.

Esempio
Utilizzeremo ora le stesse classi che abbiamo creato nell'esempio menzionato in precedenza. L'unica differenza è che useremo il ' istanza di ” per verificare se l'istanza dell'oggetto creata appartiene alla classe padre o figlio:

pubblico classe Esempio {
pubblico statico vuoto principale ( Corda [ ] arg ) {
MyClass myclassObj = nuovo La mia classe ( ) ;
Se ( miaclassOggetto istanza di La mia classe ) {
Sistema . fuori . println ( 'L'oggetto 'myclassObj' è un'istanza di 'MyClass'' ) ;
} altro Se ( miaclassOggetto istanza di MynewClass ) {
Sistema . fuori . println ( 'L'oggetto 'myclassObj' è un'istanza di 'MynewClass'' ) ;
}
}
}

L'output fornito mostra che il ' istanza di ” l'operatore ha convalidato il tipo dell'oggetto come “ La mia classe ”:

Abbiamo compilato tutti i metodi relativi all'ottenimento del tipo di oggetto in Java.

Conclusione

Per ottenere un tipo di oggetto in Java, puoi usare il ' getClass() ” o il “ istanza di operatore. Questi metodi possono essere utilizzati per controllare i tipi di oggetti sia per le classi predefinite che per quelle definite dall'utente. Il metodo getClass() restituisce il nome della classe mentre l'operatore 'instanceof' restituisce un valore booleano, dove ' VERO ” indica che l'oggetto appartiene a quella classe specificata; altrimenti restituisce “ falso ”. Questo articolo ha fornito tutti i metodi per ottenere il tipo di oggetto in Java.