UUID.fromString() gibt eine ungültige UUID?
In meine Android-app ich habe diese Methode, die eine UUID. Leider wenn ich dies tun:
OverviewEvent overviewevent = eventAdapter.getOverviewEvent(UUID.fromString("0f14d0ab-9605-4a62-a9e4-5ed26688389b"));
Bekomme ich eine Fehlermeldung java.lang.IllegalArgumentException: Invalid UUID: 100
Die Umsetzung der getOverviewEvent ist wie folgt:
public OverviewEvent getOverviewEvent(UUID uuid) throws Exception {
//Do stuff
}
Weiß jemand, wie ich dieses Problem lösen?
Es läuft wunderbar auf Java 7, so vermute ich einen bug.
Ah, ja, aber ein bug in was? Meinst du in der Android-Grundlagen, oder in meinem Programm?
In der
Die Android-Umsetzung finden Sie hier: android.googlesource.com/platform/libcore/+/refs/heads/master/...
Soweit ich sehen kann, gibt, es sollte nicht drucken "Invalid UUID: 100" ... Sind Sie sicher, dass über den input-string? Ist es hart codiert, wie in deiner Frage?
Ah, ja, aber ein bug in was? Meinst du in der Android-Grundlagen, oder in meinem Programm?
In der
UUID.fromString()
, die ein auslösen der Ausnahme, sollte es nicht zu werfen.Die Android-Umsetzung finden Sie hier: android.googlesource.com/platform/libcore/+/refs/heads/master/...
Soweit ich sehen kann, gibt, es sollte nicht drucken "Invalid UUID: 100" ... Sind Sie sicher, dass über den input-string? Ist es hart codiert, wie in deiner Frage?
InformationsquelleAutor kramer65 | 2013-09-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein workaround, das vermeidet die Verwendung dieser Methode,
Drucke
InformationsquelleAutor Peter Lawrey
Ich hatte dieses problem auch. Ich denke, das ist, weil meine Java-version ist gering. Ich fand, dass in meiner Android-Anwendung
uuid.split("-")
unduuid.replace("-")
sind beide nutzlos. Ich denke, es kann dadurch verursacht werden, dass Java-GRÜßEN "-" als regulären Ausdruck. Jedoch, wenn ich versucheuuid.split("\\-")
unduuid.replace("\\-")
Sie hat nicht funktioniert. Ich weiß nicht, warum dies passiert ist. Ich denke es ist ein bug von Java.Laut Fildor's Kommentar in der Android-Umsetzung
uuid.split("-")
spaltet die uuid-Zeichenfolge in 5 Teile. Dann wegen der oben erwähnten Fehler, dass die uuid-string konnte nicht aufgetrennt in 5 Teile. Also "Invalid UUID" Ausnahme geworfen wird.Aber wir können ändern, die android-source-code, um dieses problem zu vermeiden. Mit
substring()
Methode, die wir aufteilen können den uuid-string in 5 Teile. Und dann können wir die uuid.Die folgenden codes für mich gearbeitet:
InformationsquelleAutor cosmozhang