(1)代码:
short e1 = 21;
System.out.println((int)e1);
Object e2 = e1;
System.out.println((int)e2);
运行结果:
21
Exception in thread "main" java.lang.ClassCastException: java.base/java.lang.Short cannot be cast to java.base/java.lang.Integer
声明成Object后short强转int失败
(2)代码:
Vector<Object> vector = new Vector<>();
vector.add((short)1);
vector.add(1);
Object result = vector;
Vector<Vector<Object>> r = (Vector<Vector<Object>>)result;
System.out.println(r);
运行结果:
[1, 1]
反编译class文件会发现强转(Vector<Vector<Object>>)会成为(Vector)