2020-01-14, 15:47
  #1
Medlem
Hej,

I kursen jag gr f.n. s r det ett krav att man inte skall returnera arrayer eller arraylists i publika metoder. r detta ngot generellt krav inom Java eller ngot som kursledaren hittat p?

Det r inget som tagits upp vid tidigare kurser, andra sidan r det inget som behvts heller. Men i detta fall s hade det varit smidigt.
Citera
2020-01-14, 16:00
  #2
Medlem
Citat:
Ursprungligen postat av PatricHbg
Hur vore det att frga administrationen
Invntar svar drifrn med, men tnkte om ngon hr hade koll p saken d det inte r ngot jag hrt talas om tidigare.

Skadar sllan att frga p fler stllen.
Citera
2020-01-14, 16:02
  #3
Medlem
askers avatar
Det kan var schysst kodningspraxis att inte returnera lokala listor i anrop till publika funktioner, eftersom att anroparen d r helt fri att redigera i den underliggande listan. Dremot borde inte din kurshandledare ha ngra problem med att du gr en kopia av arrayen eller listan och returnerar denna.
Citera
2020-01-14, 17:10
  #4
Medlem
kodsnickrarns avatar
Kanske de anser att du istllet borde returnera ett lmpligt interface, t.e.x Collection<> eller Iterable<> fr att inte exponera implementationsdetaljer i ondan?
Citera
2020-01-17, 16:27
  #5
Moderator
Protons avatar
Citat:
Ursprungligen postat av Zzarox
Hej,

I kursen jag gr f.n. s r det ett krav att man inte skall returnera arrayer eller arraylists i publika metoder. r detta ngot generellt krav inom Java eller ngot som kursledaren hittat p?

Det r inget som tagits upp vid tidigare kurser, andra sidan r det inget som behvts heller. Men i detta fall s hade det varit smidigt.
Kollar du igenom Java-APIet kommer du hitta ett flertal metoder i ett flertal klasser som returnerar bde arrayer och i frekommande fall listor (eller mjligen ett list-interface), s det r knappast ett generellt krav utan snarare ett krav frn kursledaren.

Kolla p exempelvis https://docs.oracle.com/javase/8/doc...ResultSet.html hur Interfacet ResultSet r gjort, dr finns metoden getBytes deklarerad som returnerar en bytearray.

Betrffande listor verkar det som om man return erar ett typat listinterface frn de metoder jag kollat nu (i java 8, exempelvis en JList har metoden getSelectedValuesList som returnerar ett listinterface, metoden getSelectedValues returnerar dremot en Object-array.
__________________
Senast redigerad av Proton 2020-01-17 kl. 16:38.
Citera
2020-01-17, 16:58
  #6
Medlem
Citat:
Ursprungligen postat av Zzarox
Hej,

I kursen jag gr f.n. s r det ett krav att man inte skall returnera arrayer eller arraylists i publika metoder. r detta ngot generellt krav inom Java eller ngot som kursledaren hittat p?

Det r inget som tagits upp vid tidigare kurser, andra sidan r det inget som behvts heller. Men i detta fall s hade det varit smidigt.
Be kursledaren att motivera varfr man inte ska returnera arrayer eller arraylists i publika metoder.
Vad ska man returnera istllet om man faktiskt har en ArrayList? Menar han kanske att man ska skriva egna implementationer.

Precis som kodsnickrarn r inne p s r det lmpligare att returnera ett lmpligt interface. Istllet fr ArrayList s returnerar man List eller Collection. P det sttet dljer man implemenationen och kan utan strre ingrepp byta ut den. Dock returnerar man s klart en konkret implementation av List-interfacet nr man returnerar ngot.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in