Predatorkill Δημοσ. 15 Φεβρουαρίου 2021 Δημοσ. 15 Φεβρουαρίου 2021 Παιδες ασχετος με 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
woopsi Δημοσ. 15 Φεβρουαρίου 2021 Δημοσ. 15 Φεβρουαρίου 2021 Αν είναι null, τότε ναι λογικά πρέπει να πετάξει NullPointerException 1
Predatorkill Δημοσ. 15 Φεβρουαρίου 2021 Μέλος Δημοσ. 15 Φεβρουαρίου 2021 (επεξεργασμένο) 33 λεπτά πριν, woopsi είπε Αν είναι null, τότε ναι λογικά πρέπει να πετάξει NullPointerException Ποιο ομως αν ειναι null? Το item ή το ignoredBy? Επεξ/σία 15 Φεβρουαρίου 2021 από Predatorkill
woopsi Δημοσ. 15 Φεβρουαρίου 2021 Δημοσ. 15 Φεβρουαρίου 2021 Μόλις τώρα, Predatorkill είπε Ποιο ομως αν ειναι null? Το item ή το ignoredBy? Kαι τα 2 θεωρητικά δεν μπορούν να είναι; Οπότε το ίδιο ισχύει και γαι τα 2 1
ALLisCHAOS Δημοσ. 15 Φεβρουαρίου 2021 Δημοσ. 15 Φεβρουαρίου 2021 Γενικά σε οτιδήποτε είναι 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 1
Predatorkill Δημοσ. 15 Φεβρουαρίου 2021 Μέλος Δημοσ. 15 Φεβρουαρίου 2021 Σας ευχαριστω παιδια! Στην js παντως δεν θα εσκαγε το item.user, αυτο ηθελα να ξεκαθαρισω, αν οταν το ignoredBy ειναι αδειο (not null) εαν το item.user σκαει. Απο οτι φαινεται αυτο που απαντησε ο τυπας στο so ειναι η λυση στο θεμα.
Επισκέπτης Δημοσ. 16 Φεβρουαρίου 2021 Δημοσ. 16 Φεβρουαρίου 2021 Η Java αν θυμαμαι δεν εχει null coalesce operator οποτε αναγκαστικά γραφεις τους ελεγχους. Σε C# πχ θα μπορουσες να γραψεις (λιγο τραβηγμενο το παράδειγμα) ctx?._source?._ignoredBy?.removeIf(item -> item?.user == params?.by?.user) Untyped είναι η js και δεν την νοιαζει τιποτε, καταλήγεις να ψάχνεις τι είναι undefined. Απλα συνεχίζει η εκτέλεση σα να μη συμβαίνει τίποτα 🙃
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα