java中Object[] objects =(Object[]) new float[2];和Object object=(Object)new float[2];区别

2024-11-20 12:20:35
推荐回答(3个)
回答1:

第一条代码是错的。错在“=”右面,你把一个float类型的数组转为Object的,这是不对的。
先说说第二个为什么对。你把一个float类型的数组强制转换为了Object,它对是因为,java中的所有类型都是Object,你把一个Object的子类的一个实现上传给Object。甚至你可以不强转,直接Object object=new float[2];,java认为这是安全的,因为你是把一个更具体的类型转换为了一个更一般的类型。你还可以Object o = new ArrayList();Object m = new HashMap();Object i=new int[2];
明白了吧,java中你可以把所有类型都当做Object,而不能当做Object[]。换句话说Object[]也是一种Object。
还不明白的话,试试Object s = new Object[2];行不行。

回答2:

前者是new了一个float类型的数组,该驻足有两个元素。然后将它强制转换为一个Object类型的数组。数组里面的每一个元素都是object类型的对象。

后者是new了一个float类型的数组,该驻足有两个元素。然后将它强制转换为一个Object类型的对象。

回答3:

围观。。。。。。。