字符串数组问题中的奇怪NullPointerException

时间:2012-06-21 08:44:26

标签: java string

任何人都可以帮我解决这个问题吗?

   'public class DataBase {
        static Article[] arts;
        public static int FileNumber;
        public static String[] FileList;
        static File root;

        public DataBase(String ID, String TA) 
        {
            File root=new File(pth);
            FileList=root.list().length;
            String[] FileList=new String[FileNumber];
            for(int i=0;i<FileNumber;i++)
            {
                 FileList[i]=new String(root.list()[i]);
            }
            arts=new Article[FileNumber];
        }

        public void phase_0()   //Initializare lista articole
        {
            for(int i=0;i<FileNumber;i++)
            {
                 System.out.println(FileList[i]); ******
            }
        }
    }'

我在标有 ** 的行上遇到运行时错误。我对这个问题一无所知。有人可以帮忙吗?

为了澄清,在静态void main中我首先使用构造函数

DataBase db=new DataBase(...) 

然后

db.phase_0();

我在指定行的最后一个方法上得到了错误。 Thanx提前!必要时会插入PATH,我保证这不是问题

2 个答案:

答案 0 :(得分:3)

您正在用此行为public static String[] FileList着色:

String[] FileList=new String[FileNumber];

应该是:

FileList = new String[FileNumber];

答案 1 :(得分:1)

您的全局FileList数组会被构造函数中的本地数组覆盖。从本地声明中删除String[]以使其成为全局。