Erreur de liste de tableau Java?


// ArrayList
import java.io.*; 
import java.util.*;

public class ArrayList
{
    public static void main (String [] args)
    {
        Integer obj1 = new Integer (97);
        String obj2 = "Lama";
        CD obj3 = new CD("BlahBlah", "Justin Bieber", 25.0, 13);

        ArrayList objects = new ArrayList();

        objects.add(obj1);
        objects.add(obj2);
        objects.add(obj3);
    }
}

J'essaie de créer une liste de tableaux avec ces trois objets, pourquoi reçois-je cette erreur?

ArrayList.java:15: cannot find symbol
symbol  : method add(java.lang.Integer)
location: class ArrayList
objects.add(obj1);
       ^
ArrayList.java:16: cannot find symbol
symbol  : method add(java.lang.String)
location: class ArrayList
objects.add(obj2);
       ^
ArrayList.java:17: cannot find symbol
symbol  : method add(CD)
location: class ArrayList
objects.add(obj3);
       ^
3 errors
Author: Roman Nikitchenko, 2013-12-05

5 answers

Parce que, votre nom de classe est ArrayList. Changez le nom de votre classe comme,

 public class ArrayListTest{
     .....
 }

Ou, utilisez le nom de classe complet java.util.ArrayList

public class ArrayList{


public static void main (String [] args)
{
  ....
  java.util.ArrayList objects = new java.util.ArrayList();
  ...
}
 4
Author: Masudul, 2013-12-05 06:26:59

Modifier votre nom de classe ArrayList est déjà défini dans java

Voir ci-dessous

Http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html

 0
Author: Deepak, 2013-12-05 06:21:01

Je vous suggère de lire quelques articles sur les conventions de noms en Java. Car ce que vous faites maintenant est trompeuse. http://java.about.com/od/javasyntax/a/nameconventions.htm

Votre nom de classe n'est pas éligible et malentendu. Vous devez utiliser des noms plus spécifiques et éviter d'utiliser des noms restreints comme des collections.

 0
Author: solvator, 2013-12-05 06:24:48

Étant donné que votre nom de classe est le même que celui de l'API Java, vous devrez utiliser namesapce complet (avec le nom pacakge) lorsque vous souhaitez fonctionner sur l'API Java

java.util.ArrayList objects

Idéalement, les classes définies par l'utilisateur ne devraient pas être nommées comme Java System/API class names

 0
Author: Satheesh Cheveri, 2013-12-05 06:32:07

Vous ne pouvez pas ajouter l'objet à cause de la ligne:

ArrayList objects = new ArrayList();

Utilisez toujours le type générique lorsque vous utilisez plusieurs objets comme Integer, String......

Remplacez votre déclaration ArrayList par:

  ArrayList <Object> objects = new ArrayList <Object> ();

Object peut prendre un entier et une chaîne (car les deux sont une sous-classe de la classe Object)

Encore un point ici : vous pouvez utiliser ArrayList comme nom de classe alors vous devez déclarer votre java.util.ArrayList avec le nom de package qualifié.....si vous utilisez d'autres alors List comme Set, Map alors votre peut utiliser ArrayList comme nom de classe sans aucune déclaration de paquet avec Set ou Map..... idéalement, nous ne devrions utiliser aucun mot de réserve comme nom de classe....

Merci: KP

 0
Author: KP_JavaDev, 2013-12-11 01:26:13