您的位置:首页 > 运维架构

System.arraycopy--findbugs检查引发的更改

2015-11-09 10:37 302 查看
EI2:
This code stores a reference to an externally mutable object into the internal representation of the object. If instances are accessed by untrusted code, and unchecked changes to the mutable object would compromise security or other important properties, you will need to do something different. Storing a copy of the object is better approach in many situations.

import java.io.Serializable;

public class TableModel implements Serializable {
private static final long serialVersionUID = 6121579860453189567L;
private String[][] data;
private String[] columnNames;

public TableModel(String[][] data, String[] columnNames) {
this.data = new String[data.length][];
System.arraycopy(data, 0, this.data, 0, data.length);
this.columnNames = new String[columnNames.length];
System.arraycopy(columnNames, 0, this.columnNames, 0, columnNames.length);
}

public void travel() {
System.out.println(this.data == null);
System.out.println(this.columnNames == null);
}

public static void main(String[] args) {
String[][] data = {{"A1", "B1"}, {"A2", "B2"}, {"A3", "B3"}, {"A4", "B4"},};
String[] columnNames = {"COL1", "COL2"};
TableModel tableModel = new TableModel(data, columnNames);
tableModel.travel();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: