“Il confronto () è un metodo supportato dalla classe stringa Java per il confronto delle stringhe. Questo metodo confronta la stringa lessicograficamente, il che significa in ordine alfabetico. Il confronto della stringa dipende dal valore unicode assegnato a ciascun carattere stringa. Il valore di ritorno del metodo comparatore () è il valore intero che può essere positivo, negativo o zero. L'intero positivo si ottiene quando i caratteri della prima corda sono caratteri più alti rispetto ai caratteri della seconda corda. L'INTEGER negativo viene restituito quando la prima stringa è inferiore alla seconda stringa usando l'ordine alfabetico e restituisce zero se sono lessicamente uguali."
Esempio 1
Stiamo usando il metodo comparatore () di java in questo particolare esempio per dimostrare come questo metodo confronta la stringa in ordine alfabetico.
Abbiamo un programma principale all'interno della classe "comparatocase1". Qui, abbiamo dichiarato tre variabili che sono intitolate "S1", "S2" e "S3". Le variabili contengono una stringa di parole in cui "S1" e "S2" hanno la stessa stringa. La "S3" è inizializzata con una stringa diversa. Quindi, abbiamo invocato il metodo comparazione (), in cui abbiamo superato le variabili "S2" e "S3" come argomento. Il metodo comparativo confronta queste stringhe con la stringa "s1" e stampa i risultati.
Abbiamo un valore intero "0" ottenuto dal metodo comparativo come stringa "S1" e "S2" hanno lo stesso contenuto. D'altra parte, abbiamo ottenuto il valore negativo "-7" dal confronto di "S1" e "S3" perché non sono gli stessi e "S3" arriva dopo "S1" secondo l'ordine alfabetico o del dizionario.
Esempio 2
Il metodo di confronto di Java è anche sensibile al caso mentre si confronta le stringhe. Abbiamo un programma di esempio che determina la sensibilità al caso del metodo comparativo.
Abbiamo stabilito la classe "comparatocase2" per determinare la sensibilità al caso del metodo stringa (). Abbiamo assegnato la stringa in maiuscolo alla variabile "mystring". Quindi, la stringa.fuori.Il metodo println viene distribuito per il metodo comparativo. Il metodo comparativo confronta la stringa specificata con la stringa passata come argomento in minuscolo. Nell'istruzione di stampa successiva, abbiamo inserito la stringa maiuscola nel metodo comparatorecase (). Il metodo comparatorecase ci aiuta a ignorare la sensibilità del caso delle stringhe di confronto nell'output.
La stringa viene confrontata con la stringa del metodo comparatore e genera il risultato "-32" intero negativo. Quindi, il metodo comparativo è un metodo sensibile ai casi. Ma quando utilizziamo il comparatorecase, il valore risultante è un numero intero positivo, il che significa che il caso viene ignorato.
Esempio 3
Ora stiamo controllando l'equivalenza delle stringhe usando il metodo comparativo. Per questo, dobbiamo usare il metodo condizionale nel nostro programma.
Abbiamo la dichiarazione del metodo principale all'interno della classe "comparatocase3". Abbiamo creato due stringhe lì definite come "mystr1" e "mystr2". Abbiamo immagazzinato stringhe diverse in entrambe le variabili. Le stringhe possono essere visualizzate con il metodo di stampa di Java sulla console. Quindi, abbiamo impiegato il blocco IF-ELSE. Abbiamo una condizione "if" in cui abbiamo fornito il metodo comparativo. Il "mystr2" è usato come parametro all'interno del metodo comparativo e confrontato con la stringa "mystr1". Se queste stringhe sono abbinate tra loro, i risultati sono "0" e l'istruzione Block "IF" verrà eseguita. Altrimenti, abbiamo altrimenti l'esecuzione del blocco.
I risultati del confronto delle stringhe hanno visualizzato l'istruzione secondo cui le stringhe non sono uguali sulla console seguente, poiché abbiamo fornito le diverse stringhe.
Esempio 4
Sebbene il metodo di confronto di Java abbia lo stesso per il confronto della stringa che ha una lunghezza diversa, consideriamo questa affermazione per il programma di seguito.
Lo snippet di codice ha la classe "comparatocase4", in cui abbiamo implementato il metodo principale del programma. Qui, abbiamo utilizzato il metodo di stampa di Java e abbiamo superato la stringa del carattere "Y", che viene confrontato con la stringa all'interno del metodo comparativo. La stringa del personaggio rimane la stessa, ma abbiamo cambiato la lunghezza della stringa fornendo le nuove stringhe contenenti lo stesso carattere "Y". Successivamente, abbiamo confrontato la stringa intera con la stringa intera di diverse lunghezze specificate nel metodo comparativo. I risultati verranno stampati al momento dell'esecuzione di ciascuna istruzione di stampa usando il metodo comparativo.
Di seguito vengono visualizzati i diversi risultati delle varie lunghezze della stringa.
Esempio 5
Il metodo comparativo genera anche un errore "nullpointerException" dal compilatore. Questo errore viene lanciato quando il metodo comparativo prende il valore nullo come argomento.
Abbiamo una classe "comparatocase5" che guida il programma principale. All'interno del blocco principale Java, abbiamo definito la variabile "str_val1", che contiene la stringa. Quindi, abbiamo definito un'altra variabile "str_val2", che contiene il valore "null". Le stringhe sono richieste per il confronto all'interno del "sistema.fuori.Metodo println ". Il metodo comparativo è anche impiegato lì. Abbiamo confrontato "str_val1" con "str_val2". I risultati dell'esecuzione verranno mostrati sulla console.
Quando queste stringhe vengono confrontate, aumenta un'eccezione dell'output di "NullpointerException" come stringa utilizzata come parametro all'interno del metodo comparatore ha un valore null.
Esempio 6
Inoltre, abbiamo un altro caso di eccezione per quanto riguarda il metodo di comparazione stringa. ClasscastException è sollevato quando abbiamo tipi incoerenti di oggetti per il confronto.
Abbiamo costruito una classe come "dipendenti" in cui abbiamo definito l'oggetto "emp_name" e chiamato anche il costruttore per "dipendente" della classe. L'emp_name "è definito con l'oggetto" Stringis "chiamato nel costruttore. Quindi, abbiamo il metodo principale all'interno della classe "comparatocase6". Abbiamo specificato i nomi di alcuni dipendenti chiamando la classe "dipendenti". Abbiamo aggiunto il nome del dipendente con l'aiuto del metodo ADD. Successivamente, abbiamo un'operazione di ricerca binaria per un confronto della stringa dei nomi dei dipendenti con un'altra stringa.
L'esecuzione del programma sopra si incontra tranne ClasscastException, poiché la stringa fornita è incompatibile.
Conclusione
Il metodo comparativo viene utilizzato per confrontare la stringa seguendo l'ordine del dizionario e restituendo le uscite previste. Abbiamo visto molti scenari con il programma di esempio in cui il metodo comparativo si comporta in modo diverso. Lo scenario sensibile al caso è inoltre implementato per il metodo di confronto e come ignorare i casi sensibili al caso. Inoltre, abbiamo i casi di eccezione del metodo comparatore () che possiamo evitare utilizzando il metodo comparatore () in java.