uml*_*uml 3 java arrays object
这是Java中的代码片段:
Object ob = new int[2];
Run Code Online (Sandbox Code Playgroud)
现在让我们说我想初始化数组.这个
ob[0] = 5; 将无法工作,因为ob属于Object类型.施法也不起作用:
(int[])ob[0] = 5;
Run Code Online (Sandbox Code Playgroud)
顺便说一下,(int[]ob)[0]= 5;
会导致语法错误.那么,如何在没有硬编码的情况下在运行时分配值(例如Object ob = new int[]{1,2}?这不是家庭作业,我正在尝试理解Java.这是为了准备Java认证所必需的.干杯
Roh*_*ain 11
你试图抛出价值ob[0]而不是ob自己.你需要先铸造你的ob第一个int[],然后在索引上使用它[0].
((int[])ob)[0] = 5;
Run Code Online (Sandbox Code Playgroud)
注意: -括号很重要.但是你为什么要做这样的事呢?
如果您不想硬编码值,并希望在运行时使用它,那么您应该在评论中遵循@HotLicks提到的内容.
Object ob = new int[5];
int[] tempArr = (int [])ob;
for (int i = 0; i < tempArr.length; i++) {
tempArr[i] = i;
}
Run Code Online (Sandbox Code Playgroud)