ClassNotFound在Java中使用数组时的异常

时间:2013-06-12 18:51:01

标签: java arrays string class exception

您好!我正在尝试创建一个java块,它允许我根据从数组中调用的字符串来调用类 - 但是,不幸的是,我似乎无法让它工作。如果有人能提供帮助我会非常感激,我已经包含了迄今为止我已经删除过的代码......

public class ProcrastinatorPanel extends JPanel {

    String[] room = {
             "Hallway", "Bathroom", "Study", 
             "Bedroom", "Dining Room", "Living Room", 
             "Kitchen", "Playroom", "Bathroom", "Garage" };

    int roomNumber = 0;

    public ProcrastinatorPanel() {

        Hallway.hallway = new Hallway();
        Class roomClass = Class.forName(room[roomNumber]);
    }
}

2 个答案:

答案 0 :(得分:2)

要使Class.forName()方法起作用,您需要传递一个表示完全限定类名的字符串。例如。 "com.mycompany.main.Hallway"

你也可以尝试制作一个Class es数组而不是一个字符串数组。为了帮助您入门,表达式Hallway.class将评估为Hallway类

同样,专业人士指出Hallway.hallway = new Hallway()不会起作用。代码应为Hallway hallway = new Hallway()Hallway是变量的类型,hallway是名称。

答案 1 :(得分:0)

Class.forName()需要完全限定的类名。

此外,我没有看到任何catchN /抛出ClassNotFoundException异常。你提到的代码是否完整?