上記と基本的に同じ質問ですが、ArrayListがオブジェクトのコンストラクタに渡された場合、それは参照または値によって渡されますか?ArrayListがオブジェクトのコンストラクタに渡された場合、それは参照または値によって渡されますか?
以下の例では、TickHistory
オブジェクトを作成してarraylistを渡すと、後に渡されたarraylistを変更すると、TickHistoryオブジェクトインスタンスでも変更されますか?
public class TickHistory {
List<Tick> ticks;
String period;
String name;
Integer year;
public TickHistory(String name, String period, Integer year, List<Tick> ticks){
this.name=name;
this.period=period;
this.year=year;
this.ticks=ticks;
}
}
あなたは、単にそれを試してみましたか? – Derlin
あなたが望む: this.ticks = new ArrayList <>(ティック); – Tatarize
はい、ありがとうございます。実際には、オブジェクトへの参照が渡されたかのように振舞う代わりに、プリミティブを渡すような、値渡しではない場合、「値渡し」と言うのは非常に紛らわしいものです。 – LucasSeveryn