- Shipped
- 8. September 2026 um 14:58 UTC
- Author
- Kamo
- Commit
- 4d9a71f
Pressing Neue Tabelle beantwortet 500: NullPointerException: Kann nicht aufrufen "java.lang.Integer.intValue()", weil die Rückgabewert von HoldemTable.getButtonSeat() ist null bei **************** "HoldemHand.buttonSeat" ist ein primitives "int"; "HoldemTable.buttonSeat" ist ein nullable "Integer", weil eine Tabelle hat keine Taste, bis es eine Hand ausgeteilt. Geschrieben als "Hand != null ? hand.getButtonSeat() : table.getButtonSeat()", JLS 15.25 gilt binäre numerische Förderung auf die beiden Zweige und ungeboxes BOTH - so die Expressing-Aufrufe ".intValue()" auf der Tabelle null, bevor das Ergebnis jemals ist zugeordnet. Die Variable "Integer" zu erklären, hilft nicht: Das Unboxing passiert innerhalb des bedingten Ausdrucks, und die Zuordnung nur neu verpackt, was überlebt. Ein if/else jetzt, mit einem Kommentar, warum, denn das ternary ist genau die "Vereinfachung", nach der jemand greifen würde. Dies war das erste, was jemand mit der Funktion macht, und es ausgeliefert. Jeder bestehenden Test hatte eine Hand im Gange; nicht einer baute eine Ansicht für den einzigen Staat ein brandneue Tabelle ist immer in. "HoldemTableViewTest" baut drei davon leer, Sitzen-aber-nicht-dealt, und die Lobby-Zusammenfassung - und ich bestätigte alle drei reproduzieren die Produktion NPE wörtlich gegen das ternäre vor der Wiederherstellung der Lösung. Es pins auch zwei Dinge, die die Null-Taste darf NICHT zu erfinden: kein Händler und keine blinden Markierungen auf einem Tisch, der nicht ausgeteilt hat, und keine Brieftasche Hin- und Rückfahrt für eine Lobby-Reihe.