0

私は開発者としての初期の頃であり、以下のコードのフィールドの二重割り当てを示す Sonar エラーを解決するために助けが必要です。

//Inside constructor
list1 = new ArrayList();
....
...
// in some method
  if(description.equalsIgnoreCase(MAPPED_CATIA_MODELS)) {
        tempList = new ArrayList();
        tempList = list1 ; // gives error here as "Correctness - Double assignment of field."
        addKey = true;
      }

何を変更する必要があるかを提案してください。ありがとう。

4

1 に答える 1

2

ソナーは、どちらかを削除することを提案しています

tempList = new ArrayList();

また

tempList = list1;

ポイントは、ArrayList を作成した直後に、それへの参照を list1 への参照で上書きしたことです。の結果new ArrayList()はすぐに破棄され、永久に失われます。

于 2012-05-04T06:45:14.707 に答える