Ответ 1
Generics поддерживается только из java 1.5 +
Используйте обычные списки, например
List nextDir = new ArrayList();
Это должно работать надежно
Я использую новый рабочий компьютер, на котором есть старый sdk, Java 1.3.1, и хотел бы посмотреть, смогу ли я сделать домашнюю домашнюю работу над ним. У меня есть этот файл от нашего профессора, и он работает на его машине в классе, и я получаю ошибки компилятора, когда я запускаю его. Я проверил файлы справки Java onlines, и похоже, что Collections поддерживались до 1.3.1, поэтому я не уверен, почему я получаю эти ошибки. Вот мой код:
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();
}
}
}
Ошибка: '(' или ']' в строке 12, которая для меня не похожа на ошибку. Тогда много не может разрешить символ для List, String, nextDir в строке 12 и т.д.
Я подумал, что это что-то супер очевидное или что-то не так с моей рабочей конфигурацией. Спасибо.
Generics поддерживается только из java 1.5 +
Используйте обычные списки, например
List nextDir = new ArrayList();
Это должно работать надежно
Я не считаю, что дженерики (т.е. List<String>
) поддерживались до Java 5.