求助:Java编译报错RuntimeException,二元运算符'*'操作数类型不匹配
解决Java中二元运算符'*'操作数类型不匹配问题
错误信息
java.lang.RuntimeException: 无法编译代码 - 二元运算符'*'的操作数类型不匹配
第一个类型:int
第二个类型:java.lang.Object
问题原因
使用乘法运算符*时,操作数一边是int基本类型,另一边是Object引用类型,Java编译器无法直接对不同类型执行乘法运算。
解决方法
- 确认
Object变量实际存储的是数值类型(如Integer、Double),直接强制转换为对应数值类型后运算:Object numObj = 5; int num1 = 10; // 强制转换为Integer,自动拆箱为int后执行乘法 int result = num1 * (Integer) numObj; - 若不确定
Object具体类型,先做类型检查避免转换异常:Object numObj = 5; int num1 = 10; if (numObj instanceof Integer) { int result = num1 * (Integer) numObj; }
内容的提问来源于stack exchange,提问作者steven lim
相关产品推荐
相关产品推荐

