0

Sonar を使用してアプリケーションのコードを変更しようとしています。それを修正する方法とその理由は? ありがとう。

public class BeanResultSetHandler<T> extends BasicResultSetHandler<T> {
T instance;
Class<T> clas;
Object[] selectFields;

/**
 * Constructor
 */
**
public BeanResultSetHandler(Class<T> type, Object[] selectedFields) {
    this.clas = type;
    this.selectFields = selectedFields;
    if (selectedFields == null)
        this.selectFields = this.clas.getFields();
}
4

2 に答える 2

1

配列を保存する前に複製する必要があります。

this.selectFields = Arrays.copyOf(selectFields, selectedFields.length)

BeanResultSetHandler所有者が変更される可能性がある配列からソナーが文句を言いcallerます。

于 2015-10-26T13:18:57.727 に答える