MsgPack - Null Check

N

Nisbo

Bekanntes Mitglied
Servus,

ich spiele gerade etwas mit MessagePack rum
https://github.com/msgpack/msgpack-java

soweit so gut nur können die Werte auch "null" sein
irgendwie stehe ich da jetzt geade auf dem Schauch wie ich da prüfe ob der Wert null ist oder nicht.

Ist er null wirft es eine Exception "Expected Int, but got Nil (c0)"
Ich möchte das jetzt ungern mit try catch lösen

Java:
MessageUnpacker unpacker = MessagePack.newDefaultUnpacker(m.getPayload());
int     einInt         = unpacker.unpackInt();
String einString     = unpacker.unpackString();

Hat jemand eine Idee ?
 
N

Nisbo

Bekanntes Mitglied
Schaut wohl so aus als wenn ich das so lösen müsste falls ich nicht irgendeine Methode / Config übersehen habe

Java:
int einInt = unpacker.getNextFormat().equals("NIL") ? unpacker.unpackInt() : 0;
// oder
int einInt = unpacker.getNextFormat().equals("NIL") ? unpacker.unpackInt() : null;
 
N

Nisbo

Bekanntes Mitglied
Du meinst das hier ?
https://static.javadoc.io/org.msgpack/msgpack-core/0.8.13/org/msgpack/core/MessageUnpacker.html
die machen da aber auch nichts großartig anderes

Im Endeffekt macht ein NULL bei einem INT aber auch keinen Sinn
Hatte es dann erst so gelöst (hier ohne try/catch oder throw)

Java:
public Integer unpackIntOrNull (MessageUnpacker unpacker){
    return unpacker.getNextFormat() == MessageFormat.INT8 ?
           unpacker.unpackInt() : null;
}

aber wie gesagt ein NULL macht bei einem INT keinen Sinn
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Ja, aber auf dem gedachten weg, nicht übern Stringvergleich ;)

Im Endeffekt macht ein NULL bei einem INT aber auch keinen Sinn
Hatte es dann erst so gelöst (hier ohne try/catch oder throw)

aber wie gesagt ein NULL macht bei einem INT keinen Sinn
Wenn er für deinen UseCase keinen Sinn macht, sollte die Exception geschmissen werden - NIL wäre da schließlich ein Fehler.
Ansonsten wäre das vermutlich eleganter mit Optional zu lösen, am besten auf Ebene des Frameworks.

Deine Variante funktioniert btw nur für int8, ist das Absicht?
 
N

Nisbo

Bekanntes Mitglied
War nur ein Beispiel

Java:
MessageFormat mF      = null;
       
       try {
           mF = unpacker.getNextFormat();
       } catch (MessageInsufficientBufferException | IOException d) {
           return standardReturn;
       }

        // INT
        if(mF == MessageFormat.INT8 || mF == MessageFormat.UINT8 ||
                mF == MessageFormat.INT16 || mF == MessageFormat.UINT16 ||
                mF == MessageFormat.INT32 || mF == MessageFormat.UINT32 ||
                mF == MessageFormat.POSFIXINT) {
            try {
                return unpacker.unpackInt();
            } catch (IOException e) {
                return standardReturn;
            }
        }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Gibt es eine Möglichkeit eine NPE zu vermeiden, wenn null returned wird? Allgemeine Java-Themen 3
J Zahlen Abstand zur Null bestimmen Allgemeine Java-Themen 11
C javax.mail.Message message.setreplyto() null setzen (keine replyto Adresse) Allgemeine Java-Themen 25
S An internal error occurred during: Launching null argument Allgemeine Java-Themen 1
S Validation Null aber nicht Blank und muss Email sein Allgemeine Java-Themen 22
L Google Guice Field Injection returns null Allgemeine Java-Themen 2
E RMI NULL-Pointer-Exeception wenn der RMI-Proxy eine Methode deligiert Allgemeine Java-Themen 2
J Java Objekte = null, Garbagecollector Allgemeine Java-Themen 12
T JasperReports mit Null Pointer Allgemeine Java-Themen 3
DanielsLPecke Compiler-Fehler Warum ist der String null? Allgemeine Java-Themen 10
M Warten bis Variabel nicht null ist Allgemeine Java-Themen 18
Thallius Simple JSON Parser Error null Allgemeine Java-Themen 6
M Null byte in verschiedenen charsets Allgemeine Java-Themen 2
S Lambda Ausdrücke: @FunctionalInterface Instanzen auf null prüfen Allgemeine Java-Themen 9
B [Android] EditText-Object ist null - Nimmt nicht den Wert des enthaltenen Textfeldes ein Allgemeine Java-Themen 2
D Java Process OutputStream ist null Allgemeine Java-Themen 4
O log4j, Problem bei Ausgabe null-Wert Allgemeine Java-Themen 0
T InvalidClassException - Read null attempting to read class descriptor for object Allgemeine Java-Themen 8
D Problem mit führender Null bei Schlüsselerzeugung Allgemeine Java-Themen 5
T Variablenübergabe liefert immer null Allgemeine Java-Themen 13
K Image beim catchen ist immer null Allgemeine Java-Themen 9
B Load of Known null Value Allgemeine Java-Themen 9
W Kleine Frage zu Null-Pinter-Exception Allgemeine Java-Themen 21
T Array Sortieren (null Werte ans Ende) Allgemeine Java-Themen 2
S Null Pointer Exception bei BufferedReader Allgemeine Java-Themen 4
M Objekt prüfen auf null ->Invocation Target Exception??? Allgemeine Java-Themen 2
Tobse Vererbung null aus Elternklasse "dominant"? Allgemeine Java-Themen 15
E Queue: Wie kann hier ein null-Pointer Exception auftreten?! Allgemeine Java-Themen 11
I newInstance() liefert null zurück Allgemeine Java-Themen 4
R Attribut null Allgemeine Java-Themen 6
C Regex: Zahl ohne führende Null Allgemeine Java-Themen 13
E rückgabewert ist immer null Allgemeine Java-Themen 2
N List auf null prüfen Allgemeine Java-Themen 2
TiME-SPLiNTER Von Unix, InputStreams und Null Bytes Allgemeine Java-Themen 2
R dateFormat - Uhr fängt nicht bei null an Allgemeine Java-Themen 2
P Null in ArrayList Allgemeine Java-Themen 3
N Strings mit null wiedergabe Splitten Allgemeine Java-Themen 4
mongole Formatter + null Allgemeine Java-Themen 4
X Prozess-Objekt nach Ausführung der destroy-Methode null oder nicht null ? Allgemeine Java-Themen 10
A Umgang mit null Allgemeine Java-Themen 16
L Object = null? Allgemeine Java-Themen 16
L null pointer exception Allgemeine Java-Themen 10
nrg Leere Objektreferenz mit != null vergleichen Allgemeine Java-Themen 4
J Null Pointer in der compare-Methode des Comparators? Allgemeine Java-Themen 18
B Set.contains() auch false wenn value == null? Allgemeine Java-Themen 4
D Matrix, ArrayList, null-Zellen Allgemeine Java-Themen 6
F Hibernate speichern - Null Allgemeine Java-Themen 5
knuckles12 null pointer exception bei arrays Allgemeine Java-Themen 6
T WeakHashMap: Wie "null" effizient abfangen? Allgemeine Java-Themen 5
N Null Durchblick in Java, Jobwechsel? Allgemeine Java-Themen 19
M nichtreferenzierte Objekte auf NULL setzen -> Performance Allgemeine Java-Themen 4
S JFreeChart LineChart Punkte über NULL Werte hinweg verbinden Allgemeine Java-Themen 5
N Array mit null Werten filtern Allgemeine Java-Themen 5
S Combobox --> liefer null? Allgemeine Java-Themen 3
A java.net.UnkownHostException: null bei jar-File Allgemeine Java-Themen 16
B Null Pointer Exception bei Canvas-objekt-Aufruf Allgemeine Java-Themen 12
H NullPointerException trotz Abfangen von null? Allgemeine Java-Themen 9
R if (obj == null || obj.isEmpty()) Allgemeine Java-Themen 21
P <null> in einer DB abfragen Allgemeine Java-Themen 4
G Nicht abgefangene Null-Pointer-Exception Allgemeine Java-Themen 2
P Image auf einem Panel mit null-Layout Allgemeine Java-Themen 8
M getResourceAsStream immer null Allgemeine Java-Themen 4
R Array komplett auf null setzen Allgemeine Java-Themen 10
A JasperReport Detail bringt null bei Datenübergabe Allgemeine Java-Themen 4
S Null Pointer Exception Allgemeine Java-Themen 10
S instanceof und null Allgemeine Java-Themen 7
M Führende Null in einem Datum Allgemeine Java-Themen 3
L null != null ? Allgemeine Java-Themen 16
Redfrettchen Rückgabe nicht sinnvoll: Exception oder null zurück? Allgemeine Java-Themen 9
B Null- oder IllegalArgumentException Allgemeine Java-Themen 12
C ImageIO die read-Methode liefert mir ein null- Wert zurück Allgemeine Java-Themen 10
K Exception im Konstruktor / Objekt == null Allgemeine Java-Themen 7
Z bedeutung (übersetzung) von null? Allgemeine Java-Themen 5
T Exception im Constructor -> null-Referenz zurückgeben Allgemeine Java-Themen 6
C Objekte null setzen? Allgemeine Java-Themen 7
Ananaskirsche Website mit Browser-Check aufrufen Allgemeine Java-Themen 8
perlenfischer1984 Wann ist ein Parameter Check sinnvoll Allgemeine Java-Themen 7
P business check Allgemeine Java-Themen 2
P Check, welche Java Version installiert bevor ein Programm ausgeführt wird. Allgemeine Java-Themen 12
1 Check read/write permission for file Allgemeine Java-Themen 4
S Kleiner Texteditor mit MD5-Check Allgemeine Java-Themen 4
L Java Performance Check Tool Allgemeine Java-Themen 3
W 8 Bit CRC-Check (Umsetzung C->Java) Allgemeine Java-Themen 3
S HILFE! UML-Moddelierung. Ich check es nit! Allgemeine Java-Themen 4
S versions-check Allgemeine Java-Themen 5

Ähnliche Java Themen

Anzeige

Neue Themen


Oben