Un metodo di confronto dovrebbe mai restituire lo stesso tipo di quello che sta confrontando?

0

In primo luogo, questo è compito a casa, ma no, non sto chiedendo a nessuno di fare alcun codice per me. La mia data di inizio del corso non è per un altro mese (è online), quindi non posso chiedere chiarimenti. Ho pensato di vedere se questa descrizione del metodo ha senso anche agli occhi della comunità.

Ho dovuto creare una classe AddressBook che contenga informazioni di contatto come il nome, il cognome e il cognome di qualcuno, i loro numeri di telefono ... ecc. (La classe dovrebbe essere chiamata AddressBookEntry per avere senso).

Dopo aver creato la classe, il passaggio 2 doveva creare un metodo statico con la firma:

public static String compareNames(String name1, String name2)

E l'unica descrizione di ciò che vogliono è:

Using the get and set methods, create a comparison method compareNames(name1, name2) that compares the first, middle, and last names of strings name1 and name2. Assume that name1 and name2 follow the following format: “FirstName M. LastName”.

Per me, questo non ha alcun senso. Non ho mai visto un metodo di confronto diverso da un boolean o un int firmato per i confronti di disuguaglianza. L'unica cosa che potevo pensare era restituire qualcosa come il primo pezzo del secondo nome che corrisponde al primo; ma sembra piuttosto arbitrario.

Forse mi manca qualcosa qui però. Come dovrei interpretare questa domanda?

Il corso ha un forum di discussione generale che posso leggere ma non (ancora) pubblicare su. Qualcuno ha pubblicato la stessa identica domanda come me, e qualcun altro ha risposto con un messaggio dal tutor:

It will return a string that contain the result of comparison between name1 and name2.

Risulta che non è un refuso; ma quel "chiarimento" non è stato di grande aiuto.

    
posta Carcigenicate 15.05.2015 - 01:01
fonte

1 risposta

2

La specifica è piuttosto vaga, ma "metodo di confronto" generalmente significa confrontare i due argomenti, quindi il risultato potrebbe essere "sono uguali o meno" (come in Object.equals), il che significa che il tipo di risultato dovrebbe essere bool , o potrebbe essere "il primo è minore, uguale o maggiore dell'altro", nel qual caso il tipo di risultato è int (come in IComparable.compare) o enum (come Haskell usa).

È molto improbabile che il tipo di risultato di confrontare due valori sia dello stesso tipo, a meno che il tipo che viene confrontato sia già un bool o un int.

    
risposta data 15.05.2015 - 01:05
fonte

Leggi altre domande sui tag