天天看點

使用subList後,原List不允許再進行修改

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

/**
 * 類 Test 的實作描述:TODO 類實作描述
 * @author spring
 * Jul 16, 20129:46:14 AM
 */
public class Test {

    /**
     * @author spring
     * Jul 16, 20129:46:14 AM
     * @param args
     * @throws Exception 
     */
    public static void main(String[] args) {
      
    List<String> list = new ArrayList<String>();
    list.add("a");
    list.add("b");
    
    List<String> subList = list.subList(0,1);
    
    list.add("c");
    
    System.out.println(subList);
    
    }
           

 在同個方法中,如果對一個List使用過subList截取後,不能再對原List進行修改,否則會有運作時異常。如上面的情況,由于第6行使用過subList,則當第20行再對原list進行修改後,會導緻28行出錯。

繼續閱讀