2010-07-29 45 views
5

Tôi đang sử dụng một máy tính làm việc mới có một sdk cũ, Java 1.3.1, trên đó và muốn xem liệu tôi có thể thực hiện một số bài tập về nhà trên lớp hay không. Tôi có tập tin này từ giáo sư của chúng tôi và nó hoạt động trên máy tính của mình trong lớp học, và tôi nhận được lỗi trình biên dịch khi tôi chạy nó. Tôi đã kiểm tra các tập tin trợ giúp Java trực tuyến và có vẻ như Bộ sưu tập đã được hỗ trợ trước 1.3.1 vì vậy tôi không chắc chắn lý do tại sao tôi nhận được các lỗi này. Đây là mã của tôi:Java 1.3.1, lỗi biên dịch

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(); 
      } 
    } 
} 

lỗi:. '(' hoặc ']' trên dòng 12 mà với tôi không giống như một lỗi Sau đó, rất nhiều không thể giải quyết biểu tượng cho List, String, nextDir trên đường dây 12 vv

I figured it là một trong hai cái gì đó siêu hiển nhiên, hoặc một cái gì đó sai với cấu hình công việc của tôi. Cảm ơn.

+1

Bạn không thể lén một Java 6 JDK vào? –

Trả lời

15

Generics chỉ được hỗ trợ từ java 1.5 trở lên

Sử dụng danh sách thông thường như

List nextDir = new ArrayList(); 

Nên hoạt động hy vọng

0

Tôi không tin Generics (ví dụ: List<String>) đã được hỗ trợ trước Java 5.