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();
        }
    
    }
  • 相关阅读:
    函数二
    python控制台输出带颜色的文字方法
    is 和 == 的区别
    基本数据类型(dict)
    基本数据类型(list,tuple)
    基本数据类型(int,bool,str)
    Python运算符与编码
    Java并发编程:synchronized
    泛型中? super T和? extends T的区别
    java中的匿名内部类总结
  • 原文地址:https://www.cnblogs.com/softidea/p/4949261.html
Copyright © 2011-2022 走看看