A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 游洪波 中级黑马   /  2012-6-30 10:02  /  1350 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这个是config。properties中的内容
className=text8.DemoClass
这个是text8。DemoClass类中的内容
package text8;

public class DemoClass {
          public DemoClass(){
                  
          }
          public void run()
          {
             System.out.println("welcome to heima!");
          }   
   }
下边是Test类中的代码

public class Test {

        /**
         * @param args
         */
        public static void main(String[] args) throws Exception{
                // TODO Auto-generated method stub
                InputStream ips=new FileInputStream("config.properties");
                Properties ps=new Properties();
                ps.load(ips);
                ips.close();
                System.out.println(ps.getProperty("className"));
                String className=ps.getProperty("className");
                Collection collections=(Collection)Class.forName(className).newInstance();//这句话一直出异常,不知道怎么回事啊。。。               
       
        }

}
异常信息。。。。
Exception in thread "main" java.lang.ClassCastException: text8.DemoClass cannot be cast to java.util.Collection
        at text8.Test.main(Test.java:22)

点评

不要重复发帖  发表于 2012-6-30 16:44

1 个回复

正序浏览
Collection collections=(Collection)Class.forName(className).newInstance();  改成

DemoClass obj = (DemoClass)Class.forName(className).newInstance();

或者用Constructor中的实例化对象的方法分两句写
Constructor constructor = Class.forName(className).getConstructor()
DemoClass obj = (DemoClass)constructor.newInstance();
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马