Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe mal eine Frage.
Derzeit schreibe ich einen Code zur Verwaltung von Immobilien und deren dazugehörigen Mietern.
Folgende 7 Methoden greifen alle auf die selbe Liste zurück:
searchStreet()
searchRenterFullName()
searchNumberofRooms()
searchAllRenters()
searchUnleased()
searchLeased()
searchUnleasedWithRoomsEqualTo()
Ich würde gerne eine Hilfsmethode dazu schreiben, damit ich nicht alle untereinander aufführen muss (da sie ja identisch aufgebaut wären).
Kann mir jemand einen Tipp geben wie diese Hilfsmethode aussehen müsste?
Vielen lieben Dank & Grüße!
P.S: Ja das ist eine Hausaufgabe. Ich möchte es auch selbst schreiben, bin gerade aber leider an dieser Stelle am verzweifeln ….
Also im Augenblick fehlen mir hier noch nähere Informationen, was Du genau meinst.
Wenn Du überall auf die gleiche Liste mit Daten zurück greifst und nur jeweils ein Suchkriterium unterschiedlich ist, dann kannst Du eine Methode schreiben, der Du halt auch das Kriterium übergibst. Das wäre dann in etwa wie bei der Streams API das .filter(...), das ein Predicate übergeben bekommt.
Predicate Java Docs: https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html
Und dann ist die jeweilige konkrete Suche nur noch ein Aufruf der neuen Methode mit einem Lambda Ausdruck als Predicate.
Hattest du den Code mal ausprobiert? stream().map() lässt dich ein Objekt in ein anderes Objekt (ggf auch anderer Datentyp) konvertieren. Du würdest momentan also alle Elemente deiner Liste in einen boolean konvertieren und diese danach einer List<Apartment> hinzufügen. Wenn du konstant mit Generics arbeiten würdest, würdest du das auch selber feststellen.
Wie @kneitzel das schon sehr schön gesagt hat, kannst du hier mit Predicates arbeiten. Das könnte dann zum Beispiel so aussehen
Habe auch versucht mit einem Collector zu arbeiten aber es gab ein conversions Problem und eine Kollision wegen abstraktem irgenetwas.. hat leider nicht geklappt :S
Ist das Return statement denn gültig? Hast du eine Dokumentation für "return search" ?
Ja das ist genau das, was ich oben angesprochen habe. Du hast versuchst einen boolean in eine List<Apartment> hinzuzufügen weil du map verwendet hast..
Du solltest Dir lieber Sorgen um Deine Umgebung machen: @Robat (entlarvter Bot), @httpdigest (in Wahrheit eine JVM), @mrBrown (hm... da bin ich noch nicht dahintergekommen, evtl. steckt Watson von IBM dahinter) könnten die Verwendung von Predicates durch Dich überflüssig machen.
Hmm ... kein Problem, bis das Projekt mit Codenamen mrBrown diesen Robat in der VM httpDigest soweit hat, dass man nicht selbst entwickeln muss, bin ich in Rente ....