Object[]arr代码输出奇怪字符的解释
代码:class lizi {
public static void main(String[] args){
//TODO Auto-generated method stub
Object[] arr={"a","b",13};
System.out.println(arr);
}
}
输出一段奇怪的字符,为什么?
输出结果截图:
原因解释:由于java中object数组不能转换成String[]数组,而是要转换成它本身的object数组类型。所以在遇到类型转换出错的时候,需要观察错误,重新找一个解决方案:就是先把它转成自己本来的类型的对象,然后根据对象操作元素,再次转换类型,而且可能对象时多层封装,转换过程需要多次解开它本身的类型,知道取到对象的最终类型,然后再把所有分解的类型转换成自己目标类型的对象。