回答
爲了使代碼拋出ClassCastException
代碼需要編譯。此代碼,在另一方面,將不編譯爲-IS,因爲第二線將觸發一個錯誤:
error: incompatible types: possible lossy conversion from int to byte
這是因爲乘法產生一個int
。
如果更換複合賦值的分配,錯誤就會消失:
b *= 2; // This compiles and runs correctly
好的。很好,快速解決方案。但我在想,字節,char,int,float等是Java原語。就像在C/C++中一樣。你可以重寫字節類,使b = b * 2;會給出正確的代碼?我知道你可以在C++中做這樣的事情,但我不知道是否可以使用override +, - ,*,%方法覆蓋Java基元類型? –
@MichałStankiewicz不,Java不支持操作符覆蓋,即使是用戶定義的類型,更不用說原始類型。如果你想隱藏這個強制轉換,寫一個方法(比如'static byte mult(byte a,int k)')可以幫助隱藏這個強制轉換。 – dasblinkenlight
好的。 Ty爲你的答案。在工作中,我使用了面向對象,我從不想知道如何簡單地再次演繹,Ty再次獲得幫助。 –
- 1. 轉換字節到int
- 2. 從int到int的顯式轉換到Java中的字節
- 3. Java將int隱式轉換爲字節
- 4. 在java中從字節轉換爲int
- 5. Java - 轉換字節[]爲int [] rgb
- 6. 將int轉換爲java中的字節
- 7. 轉換字節數組INT
- 8. C#INT字節轉換
- 9. 從int轉換成字節
- 10. 將字節[]轉換爲int
- 11. int轉換爲字節(32)
- 12. 轉換類型INT到類型字節
- 13. 帕斯卡。轉換INT到字節
- 14. 的Java(機器人):轉換符號字節到int
- 15. Java字節[]到/從字符串轉換
- 16. 字符串到字節轉換在java
- 17. 字節到字節[]轉換?
- 18. C#轉換int到short,然後以字節和背部爲int
- 19. 轉換INT字符轉換成int不需要在Java
- 20. 轉換ICU4C字節到Java炭
- 21. 轉換的Java字節到C++
- 22. 處理:將int轉換爲字節
- 23. 將字節值轉換爲int
- 24. 字節爲int,float,NSString轉換
- 25. 如何將int轉換爲字節?
- 26. 將字節數組轉換爲int
- 27. 轉換字節[]爲BCD爲int
- 28. int轉換成一個字節圍棋
- 29. 將int轉換爲GPIO的字節
- 30. 轉換字節[]爲int在C#
和你的問題? – RE350
答案在你的問題*在解決方程式之前,Java將字節轉換爲int * –
我知道我對自己的問題有所回答。但恕我直言,這是不好的,具有+256範圍的字節將給ClassCastException。這應該是程序員的問題,以正確的方式投射數字,就像在C++中一樣。 Java中有沒有任何選項可以在需要解決方程式時禁用自動轉換爲int? –