Προς το περιεχόμενο
  • Εγγραφή
  • 0

Java removeIf


Predatorkill

Ερώτηση

Παιδες ασχετος με Java αλλα λυστε μου μια απορια:

Αυτο εαν το item ή το array _ignoredBy δεν υπαρχει, θα σκασει;

 

ctx._source._ignoredBy.removeIf(item -> item.user == params.by.user)

 

εχω κανει μια σχετικη ερωτηση εδω για οποιον θελει περισσοτερο context:

https://stackoverflow.com/questions/66209730/elasticsearch-failed-to-execute-script

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

6 απαντήσεις σε αυτή την ερώτηση

Προτεινόμενες αναρτήσεις

  • 0
Δημοσ. (επεξεργασμένο)
33 λεπτά πριν, woopsi είπε

Αν είναι null, τότε ναι λογικά πρέπει να πετάξει NullPointerException

Ποιο ομως αν ειναι null? Το item ή το ignoredBy?

Επεξ/σία από Predatorkill
Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
Μόλις τώρα, Predatorkill είπε

Ποιο ομως αν ειναι null? Το item ή το ignoredBy?

Kαι τα 2 θεωρητικά δεν μπορούν να είναι; Οπότε το ίδιο ισχύει και γαι τα 2

  • Thanks 1
Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Γενικά σε οτιδήποτε είναι property/method ενός object (ή πιο μπακάλικα όταν πας να καλέσεις κάτι με την τελεία (.) myObject.objectMethod(anyArg))
και πας να το καλέσεις απο ένα null object θα σου σκάσει. Στη περίπτωση σου:

._source μπορει να πετάξει NPE εάν το ctx  είναι null
._ignoredBy μπορεί να πετάξει NPE εάν το ._source είναι null
.removeIf() εάν το ._ignredBy είναι null
.user εάν το item είναι null
.by αν το params είναι null
.user εάν το .by είναι null

  • Like 1
Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Σας ευχαριστω παιδια! Στην js παντως δεν θα εσκαγε το item.user, αυτο ηθελα να ξεκαθαρισω, αν οταν το ignoredBy ειναι αδειο (not null) εαν το item.user σκαει. Απο οτι φαινεται αυτο που απαντησε ο τυπας στο so ειναι η λυση στο θεμα.

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Η Java αν θυμαμαι δεν εχει null coalesce operator οποτε αναγκαστικά γραφεις τους ελεγχους.

Σε C# πχ θα μπορουσες να γραψεις (λιγο τραβηγμενο το παράδειγμα)

ctx?._source?._ignoredBy?.removeIf(item -> item?.user == params?.by?.user)

Untyped είναι η js και δεν την νοιαζει τιποτε, καταλήγεις να ψάχνεις τι είναι undefined. Απλα συνεχίζει η εκτέλεση σα να μη συμβαίνει τίποτα 🙃

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.