[ROZW.]problem z utworzeniem obiektu typu List

0

nie działa: List l=new ArrayList();
Nie moge utworzyć obiektu tylu listy. Kompilator zachowuje się jakby List nie było interfejsem dla ArrayList a podobno jest.

co dziwniejsze nie pokazuje nic dla: List l=new List();(ale to chyba dlatego że traktuje to jako składową java.Applet.*)

po wprowadzeniu pełnych ścieżek wszystko gra java.util.List<Snow> snow1 = Arrays.asList(new Crusty(), new Slush(), new Powder());

da się temu zaradzić?

używam eclipse pod linuxem jdk 1.6.0_03

//: holding/AsListInference.java
// Arrays.asList() makes its best guess about type.
import java.util.*;

class Snow {}
class Powder extends Snow {}
class Light extends Powder {}
class Heavy extends Powder {}
class Crusty extends Snow {}
class Slush extends Snow {}

public class AsListInference 
{
  public static void main(String[] args) 
  {
    List<Snow> snow1 = Arrays.asList(new Crusty(), new Slush(), new Powder());//	<===== Blad 
            //Wypisuje komunikat: "the type is not generic. It can not be parametrized with argument <Snow>"
            //wydaje mi sie ze jedno zdanie zaprzecza drugiemu
    // Won't compile:
    // List<Snow> snow2 = Arrays.asList(
    //   new Light(), new Heavy());
    // Compiler says:
    // found   : java.util.List<Powder>
    // required: java.util.List<Snow>

    // Collections.addAll() doesn't get confused:
    List<Snow> snow3 = new ArrayList<Snow>(); //	<=== Blad
    Collections.addAll(snow3, new Light(), new Heavy());

    // Give a hint using an
    // explicit type argument specification:
    List<Snow> snow4 = Arrays.<Snow>asList(new Light(), new Heavy()); //	<=== Blad
  }
} ///:~

Źródło "Thinking in Java" wydanie 4 s.338

0

dobra można to usunąć , dodałem
import java.util.List;
i jest ok
nie można utworzyć obiektu listy List l=new List(); wiec tak jak ma być

0

Post zostaje jako ostrzeżenie dla potomnych ;)

zamykam

1 użytkowników online, w tym zalogowanych: 0, gości: 1