オブジェクトを繰り返し使用する場合は、データをnullに設定してクリアするか、新しいオブジェクトをインスタンス化する方が良いでしょうか?私はJavaパフォーマンス:オブジェクトを消去するときは、nullに設定するか新しいオブジェクトを作成する方が良いでしょう。
a = new Customer();
これを行うための最善の方法であるか、それが行われるべきかどうか迷っています
Customer a = new Customer();
Collection<Customer> data = new ArrayList<Customer>();
while (rs != null && rs.next()) {
a = new Customer();
a.setCustId(rs.getLong("CUST_ID"));
a.setPerNo(period);
a.setName(rs.getString("cust_nm"));
if(a!= null)
data.add(a);
}
:ここ
Object a = new Object();
for(...){
...
a = null;
**OR**
a = new Object();
}
は、私が参照しています例ですそれぞれのループが新しい顧客情報を持っているので、メモリを節約し、最適なパフォーマンスを得るために、別の方法で、新しい顧客を作成して新しいオブジェクトを指しています。したがって、古いオブジェクトaが指し示していたオブジェクトは、ガベージコレクタによって取得されます。これはnullに設定した場合と同じです。これは正しい理解ですか?
結果セットの各行に対して新しい顧客を作成する必要があります。そうしないと、結果セット内の行と同じ回数だけリスト内の同じオブジェクトになります結果セットの最後の行 また、ヌルチェックは不要です。「a」はnullにできません。 –
'a.setName'と' if(a!= null) 'の間に何かが起こっていない限り、' if(a!= null) 'テストは完全に冗長です。それは常に*通過するでしょう。 – CPerkins