Perilaku ternary Java yang aneh saat menetapkan nilai. Apa yang dilakukan Java di balik layar agar ini terjadi?

Beberapa hari yang lalu, saya mengalami skenario yang menarik bahwa saya tidak dapat menemukan dokumentasi tentang bagaimana atau mengapa Java memungkinkan hal berikut terjadi. (Cuplikan ini hanyalah bentuk bug yang disederhanakan.) @Test public void test() { boolean bool = false; Integer...