zoukankan      html  css  js  c++  java
  • System.arraycopy--findbugs检查引发的更改

    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();
        }
    
    }
  • 相关阅读:
    codechef Taxi Driver
    BZOJ2190 SDOI2008 仪仗队
    BZOJ 1070: [SCOI2007]修车
    BZOJ 1066 [SCOI2007]蜥蜴
    最大流模板
    表达式计算
    codechef Polo the Penguin and the Tree
    LCA 求 树中两个点的距离
    Baby Step Giant Step model
    POJ 1330 Nearest Common Ancestors (LCA,dfs+ST在线算法)
  • 原文地址:https://www.cnblogs.com/softidea/p/4949261.html
Copyright © 2011-2022 走看看