Avatar billede ducks Nybegynder
28. maj 2010 - 16:53 Der er 6 kommentarer og
1 løsning

Problemer med generel søgemetoder

Jeg har prøvet at lave 2 generelle søgemetoder, men jeg har lidt problemer med at anvende dem, da de hver gang skal bruges med nye typer objekter så har jeg lavet søgemetoderne comparable og implementeret Comparable<> i de pågældende klasser samt en compareTo metode.

Men jeg får den her fejl:

The method binarySearchObject(ArrayList<Comparable>, Comparable) in the type Mobil is not applicable for the arguments (ArrayList<Kontakt>, Kontakt)


Jeg håber nogen kan gennemskue, hvad der er galt?
Avatar billede arne_v Ekspert
28. maj 2010 - 17:06 #1
Uden komplet kode er det jo svaert at sige.

Men et gaet vil vaere at du skal bruge:

binarySearchObject(ArrayList<? extends Comparable>, Comparable)
Avatar billede ducks Nybegynder
28. maj 2010 - 17:09 #2
Tak, lige præcis det der manglede - var ikke for at holde på koden, men vidste ikke præcis, hvad der var brug for
Avatar billede arne_v Ekspert
28. maj 2010 - 17:11 #3
saa smider jeg et svar
Avatar billede arne_v Ekspert
28. maj 2010 - 17:12 #4
Ioevrigt boer du nok overveje:

binarySearchObject(List<? extends Comparable>, Comparable)

for at vaere lidt mere generel.

Og hvorfor ikke:

binarySearchObject(List<? extends Comparable<T>>, T)

?
Avatar billede ducks Nybegynder
28. maj 2010 - 17:15 #5
Vi har ikke haft om betydningen af det mellem < og > (kan heller ikke huske hvad det hedder), så jeg er ikke helt på hjemmebane med de definitioner ;)
Avatar billede arne_v Ekspert
28. maj 2010 - 17:23 #6
Endvidere er der allerede noget tilsvarende funktionalitet i Java.

http://java.sun.com/javase/6/docs/api/java/util/Collections.html#binarySearch%28java.util.List,%20T%29
Avatar billede ducks Nybegynder
28. maj 2010 - 17:24 #7
Hehe ja, men det er i forbindelse med mit studie, så gør det så meget selv for at få mest muligt ud af det :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester