作者easterday ()
看板java
标题[问题] 想问有关阵列应用的问题
时间Sun Feb 3 11:59:42 2008
我想我还是JAVA的初学者
最近遇到一些有关阵列的问题有点不知所措
所以上贵版请教一下
Double[][] Arr1=new Double[3][3];
Object[][] Arr2=new Double[3][3];
Object[][] Arr3=new Object[3][3];
Arr1,Arr2,Arr3到底有什麽不同?
我的资料(JDK1.5)内有查到
java.lang.Double extends Number
java.lang.Number extends Object
所以Arr1,Arr2只能放Double;Arr3可以放Object
另外有关阵列,有一个大家约定俗成的惯例,就是阵列内的元素
都视为同一个型别来处理
所以Arr1和Arr3的差别只在於
Arr3相关的变数都是Object,Object[],Object[][]
Arr1..............Double,Double[],Double[][]
但是Arr1,Arr2的类别是Double[][],Arr3的类别是Object[][];
Arr1,Arr2,Arr3的父类别都是Object
在这里好像类别的转换有一些问题
我要怎麽知道哪些类别可以转型成哪些类别呢?
(我现在只知道继承树面的类别应该可以正确的转换)
但是
JDK里面并没有Double[][]这个类别呀.....
java.lang.reflect.Array这个类别跟Double[][]有没有关系呀?
一定要去找JLS才会有吗?
有免费的可以找吗?
那另外如果我有一个状况,我已经确定Arr3[0][0]...Arr3[2][2]
通通装的是Double.valueOf(1.0d)
我有什麽代价比较小(最好又简单,优雅)的方法可以把Arr3的内容转存到Arr1 ?
我现在只知道全部重新new一个类似Arr2的东西,再把Arr1指向Arr2
感谢感谢
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.116.143.199
1F:推 chrisho:把要的东西转成double再存进去 02/03 13:23