- शिप
- 8 सितंबर 2026 को 2:58 pm बजे UTC
- लेखक
- Kamo
- Commit
- 4d9a71f
प्रेसिंग न्यू टेबल ने 500 का उत्तर दिया: NullPointerException: Cannot "java.lang.Integer.intValue()" को बुलाता है क्योंकि यह "Java.lang.Integer.intValue()" है। HoldemTable.getButtonSeat () का रिटर्न वैल्यू शून्य है ************* `HoldemHand.button सीट` एक आदिम `int` है; `HoldemTable.button सीट nullable `Integer`, क्योंकि एक तालिका में कोई बटन नहीं है जब तक यह एक हाथ से काम नहीं करता है। लिखित `hand != null? hand.getButtonSeat() : table.getButtonSeat()`, JLS 15.25 दो शाखाओं और unboxes BOTH के लिए द्विआधारी संख्यात्मक पदोन्नति लागू करता है - तो अभिव्यक्ति '.intValue()' को तालिका के परिणाम से पहले कभी कॉल करती है सौंपा गया। वेरिएबल `Integer` को घोषित करने में मदद नहीं होती: बॉक्सिंग करना सशर्त अभिव्यक्ति के अंदर और असाइनमेंट केवल पुन: बॉक्स जो जीवित रहता है। एक टिप्पणी के साथ, अगर /else अब, क्यों कह रहा है? "सरलीकरण" किसी के लिए पहुंच जाएगा। यह पहली बात थी कि कोई भी सुविधा के साथ करता है, और यह भेज दिया गया है। हर मौजूदा परीक्षण में एक हाथ की प्रगति हुई थी; केवल एक राज्य के लिए एक दृष्टिकोण नहीं बनाया गया था ब्रांड-नई तालिका कभी में होती है। `HoldemTableViewTest` उनमें से तीन बनाता है - खाली, बैठा-but-not-dealt, और लॉबी सारांश - और मैंने सभी तीनों की पुष्टि की फिक्स को बहाल करने से पहले ternary के खिलाफ उत्पादन NPE क्रियाकलाप। यह दो चीजें भी पिन करता है जो शून्य बटन को आविष्कार करने की अनुमति नहीं दी जानी चाहिए: कोई डीलर नहीं और एक ऐसी तालिका पर कोई अंधे मार्कर नहीं जो निपटा नहीं है, और कोई वॉलेट राउंड ट्रिप नहीं है एक लॉबी पंक्ति।.