Problema de passagem por referência

0 respostas
B

Pessoal , estou com um problema com um objeto ArrayList. Tenho uma classe TableData.java que possui um List columns = new ArrayList () (o código está abaixo). Quando passo um ArrayList pra preencher ele ,pela classe ACESSA (através do método set) e depois limpo ele (pela mesma classe ACESSA, através de clear()),ele é limpo tanto em TableData.java quanto na classe
ACESSA . Gostaria que fosse limpo somente na classe ACESSA e não em TableData.java, tem jeito ?

CLASSE ACESSA 


 public void saveAllColumns()
    {
       System.out.println("SAVE ALL COLUMNS");
        
       List<String> columnsName = new ArrayList<String>();
       List<ColumnData> columns = new ArrayList<ColumnData>();      
       ColumnData column;
       
       
       
       for(int i=0; i<selectedTablesModel.size(); i++)
       {    
        columnsName = con.getColumnsName(selectedTablesModel , i);
       
        
        TableData tableData = new TableData((String)selectedTablesModel.get(i));
        System.out.println("TABLE "+tableData.getName());
        
        for(int j=0; j<columnsName.size(); j++)
        {  
           column = new ColumnData(columnsName.get(j), null, null, false, false);
           columns.add(column);
           
           int indexOf = columns.indexOf(column);
           column =  columns.get(indexOf);
           System.out.println("COLUMNS indexOF"+ indexOf + " " + columnsName.get(j) + " " + column.getAlias() + column.getErf() + column.getInclude());   
        }
        
        tableData.setColumns(columns);
        
        tablesData.add(tableData);
        columnsName.clear();
        columns.clear();
       } 
    }        




CLASSE TableData.JAVA 


public class TableData {


private  List <ColumnData> columns = new ArrayList <ColumnData>();

 public void setColumns(List<ColumnData> columns) {
        this.columns = columns;
    }
Criado 23 de março de 2008
Respostas 0
Participantes 1