2010-07-29 5 views
5

J'utilise un nouvel ordinateur de travail avec un ancien sdk, Java 1.3.1, et je voulais voir si je pouvais faire des devoirs de classe. J'ai ce fichier de notre professeur et il fonctionne sur sa machine en classe, et je reçois des erreurs de compilateur quand je l'exécute. J'ai vérifié les fichiers d'aide Java en ligne et il semble que les collections ont été prises en charge avant 1.3.1, donc je ne suis pas sûr de la raison pour laquelle je reçois ces erreurs. Voici mon code:Java 1.3.1, erreurs de compilation

import java.io.*; 
import java.util.*; 

public class WriteFile 
{ 

    public static void main(String[] args) 
    { 
     if(args.length == 0) { 
      args = new String[] { ".." }; 
     } 
     List<String> nextDir = new ArrayList<String>(); 
     nextDir.add(args[0]); 
     try 
     { 

       while(nextDir.size() > 0) 
       { 
        File pathName = new File(nextDir.get(0)); 
        String[] fileNames = pathName.list(); 

        for(int i = 0; i < fileNames.length; i++) 
        { 
         File f = new File(pathName.getPath(), fileNames[i]); 
          if (f.isDirectory()) 
          { 
           System.out.println(f.getCanonicalPath()); 
         nextDir.add(f.getPath()); 
         } 
         } 
       nextDir.remove(0); 
       } 
     } 
      catch(IOException e) 
      { 
       e.printStackTrace(); 
      } 
    } 
} 

erreurs:. « (» ou « ] » sur la ligne 12 qui me ne ressemble pas à une erreur alors beaucoup de ne peut pas résoudre le symbole pour la liste, String, nextDir sur la ligne 12, etc.

Je pensais que ce soit est quelque chose de super évident, ou quelque chose de mal avec ma configuration de travail. Merci.

+1

Ne pouvez-vous pas faufiler un JDK Java 6? –

Répondre

15

génériques est prise en charge de java 1.5+

Utilisez des listes régulières comme

List nextDir = new ArrayList(); 

Cela devrait fonctionner, espérons-

0

je ne crois pas génériques (à savoir List<String>) étaient pris en charge avant Java 5.