Das Objektattribut bewertet in einer Java-Streams MAP () -Transformation immer zu nicht-null, obwohl es in einigen FälleJava

Java-Forum
Anonymous
 Das Objektattribut bewertet in einer Java-Streams MAP () -Transformation immer zu nicht-null, obwohl es in einigen Fälle

Post by Anonymous »

Sagen Sie also, ich habe eine Klasse: < /p>

Code: Select all

public class Clazz {
final String someAttribute;

public String getSomeAttribute() {
return someAttribute;
}

public void setSomeAttribute(String someAttribute) {
this.someAttribute = someAttribute;
}
}
< /code>
Und ich habe das Attribut in der Klasse bedingt festgelegt. < /p>
Clazz someObject = new Clasz();
if(someCondition) {
someObject.setSomeAttribute(“someString”);
} else {

//  someAttribute is not set, so it is null.
}
< /code>
Wenn ich versuche, das Attribut über eine MAP () -Transformation zu erhalten und es in einer ternären Operation zu verwenden Obwohl es sein kann. < /p>
Optional.ofNullable(someObject)
.map(Clazz::getSomeAttribute)
.map(someAttribute->Objects.notNull(someAttribute)) ? “string1” : string2)
.orElse(“”);
Angesichts der Tatsache, dass SomeatTribute bedingt eingestellt ist, ist es möglich, dass es null ist. Aber ich bekomme eine Kompilierungszeitwarnung, die besagt, dass Objekte. Notnull (someattribute) immer falsch ist, d. H. Someattribute ist niemals null. Warum?
Danke im Voraus!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post