私はC++からJavaに移行していますが、Javaで、配列が作成されたメソッドの外でどのように持続するかを理解するのに問題があります。以下のこの単純なコードを見てください。
public static int[] arrayMethod(){
int[] tempArray = {1, 2, 3, 4};
return tempArray;
}
public static void main(String[] args){
int arr[] = arrayMethod();
for(int i : arr){
System.out.println(i);
}
}
C ++では、配列がnew
演算子で動的に割り当てられない限り、配列はメソッド内でローカルに作成されたため、呼び出し後には存在しません。私が理解しているように、Javaは常に値で渡され、配列は参照型であるため、私のc ++ロジックは、ローカルで作成された配列への参照を返すことを教えてくれます。私は何が欠けていますか?