| 版本号 | 描述 | |
|---|---|---|
| 操作系统 | Win11-21H2 | 内部版本号22000.588 |
| IDEA | 2021.3 | |

验证一:如下报错,提示
提供的是int,也就是a + b运算后得到的是int类型数据!!!
之前写了类似的代码,还一直感觉奇怪呢,现在这就破案了。
|
验证二:获取对象类型
代码如下,运行结果为:class java.lang.Byte class java.lang.Integer
- 1
- 2
这里虽然显示的是
class java.lang.Integer,其实是将int隐式转换为了对象Integer。
public class Foo {
public static String getType(Object o){ //获取变量类型方法
return o.getClass().toString(); //使用int类型的getClass()方法
}
public static void main(String[] args) {
byte a = 113;
byte b = 119;
byte c = (byte)(a +b);
System.out.println(getType(a));
System.out.println(getType(a + b));
}
}



+=隐藏了一个强制类型转换
短路逻辑运算符









ps: 无符号右移运算符
>>>