[英]Where does the JLS specify that the result of an addition is int if its operands are of smaller type?
關於“ 為什么我會得到類型不匹配:無法從int轉換為byte的原因” ,我嘗試在JLS中進行快速搜索,以找到提到byte
操作數之間加法的結果自動擴展為int
。
我發現的最好的東西是本教程 ,但是我沒有在JLS中找到任何東西。
“ 轉換”一章沒有提及任何關於加法運算符的內容,至少我找不到任何東西。 “ 加法運算符”段落未提及字節的自動擴展。 它提到the type of each of the operands of the binary - operator must be a type that is convertible (§5.1.8) to a primitive numeric type
,但與擴展無關。 字節是數字數據類型。
我想念什么?
您幾乎在那里,在15.18.2中 :
對操作數執行二進制數值提升(第5.6.2節)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.