Bezüglich unmodifiable collection

Betrachten Sie den folgenden code unten

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Test {

    public static void main(String[] args) {
        List<Integer> intList1=new ArrayList<Integer>();
        List<Integer> intList2;
        intList1.add(1);
        intList1.add(2);
        intList1.add(3);
        intList2=Collections.unmodifiableList(intList1);
        intList1.add(4);

        for(int i=0;i<4;i++)
        {
            System.out.println(intList2.get(i));
        }
    }

}

Das Ergebnis des obigen Codes ist

1
2
3
4

Im obigen code erstellen wir ein unveränderbar List intList2 aus dem Inhalt der List intList1. Aber nach der Collections.unmodifiable Aussage, wenn ich eine änderung vornehmen zu intList1 dass die Veränderung spiegelt sich auf intList2. Wie ist das möglich ?

  • Man kann nicht intList2.add(). Das bedeutet nicht, Sie nicht intList1.add().
InformationsquelleAutor harry potter | 2014-03-17
Schreibe einen Kommentar