0
を返す - >は、整数の二つの配列を受け入れ、私はこのラボの質問を解決しようとしていますマージされた配列
が整数の二つの配列を受け取るメソッドを記述し、マージされた配列を返します。このメソッドを、クラスのオブジェクトを作成せずにmainメソッドで呼び出せるようにします。
今私の解決策は、このコードは - >
class Merge_array{
public static void main(String args[])
{
int c[];
int a[]={1,2,3,4,5,6};
int b[]={7,8,9,10,11};
c=merge(a,b);
for(int i=0;i<c.length;i++)
System.out.println(c[i]+" ");
}
static int[] merge(int a[],int b[])
{
int[] d=new int[a.length+b.length];
for(int i=0;i<d.length;i++)
{
if(i<a.length)
d[i]=a[i];
else
d[i]=b[i-a.length];
}
return d;
}}
Iマージ()メソッド内のローカル変数であり、私の出力としてD []配列参照(戻りD)を返すしています。これが正しい方法であるかどうか(コードは機能していますが)、私は混乱しています。私は主に範囲外になる配列の参照を返しているので、私はint d []のメモリを呼び出してmergeを実行した後もJavaガベージコレクタによって破壊されてしまいます。
'main()'が完了するまで何もガベージコレクションされません。メソッドが完了すると 'merge()'( 'a'、' b'、 'd'、' i')の変数は範囲外になりますが、参照されていないオブジェクトは参照されなくなるまでどこでも。 – shmosel
配列dの参照がcに割り当てられているため、ガベージコレクトされません。 – Jagroshan
@shmosel助けてくれてありがとう。変数が再レンダリングされるまで変数が収集されないというJavaのドキュメントがありますか? – user3464093