UDE*_*ent 0 java eclipse arrays clone
我的代码出了什么问题?
在主要方法中我这样做:
int [] test=new int[48];
test=etable(Right[]).clone();
Run Code Online (Sandbox Code Playgroud)
我想要的是,'test'数组与'etable'方法的输出完全相同.
我的方法称为'etable':
public static int [] etable(int [] right){
int [] blabla=new int[48];
...
return blabla[]
}
Run Code Online (Sandbox Code Playgroud)
感谢您的意见
我的代码出了什么问题?
这一行是编译错误:
test = etable(Right[]).clone();
Run Code Online (Sandbox Code Playgroud)
如果right(或Right)是一个变量(用类型声明int[]),那么你应该像这样编写方法调用:
test = etable(right).clone();
Run Code Online (Sandbox Code Playgroud)
如果Right是类型,那么这不是创建数组的正确语法.(从你如何编写etable方法来判断,你不应该将它传递给新数组.)
第二个问题是这个序列没有意义:
int test[] = new int[48];
test = etable(...).clone();
Run Code Online (Sandbox Code Playgroud)
您正在分配一个包含48个元素的数组...然后通过为test变量分配不同的数组引用将其丢弃.
第三个问题是,clone()无论如何,这很可能是多余的.您的etable方法是分配一个新数组(in blabla)并返回它.然后调用代码复制新数组.除非在某处etable保存对blabla数组的引用,否则复制步骤无法实现任何目的.
最后一个问题是,如果Right确实是一个变量名,那么这是一个严重的Java样式违规.在Java中,变量名称不应以大写字母开头.
| 归档时间: |
|
| 查看次数: |
457 次 |
| 最近记录: |