Class yourClass = Class.forName("java.lang.String");
或者Class yourClass = Class.forName("String");都会报错:ClassNotFoundException

解决方案 »

  1.   

    Object c =(Object) Class.forName("java.lang.String").newInstance();
      

  2.   

    恩。或者抛异常public static void main(String[] args) throws ClassNotFoundException
    {
    Class c = Class.forName("java.lang.String");
    }
      

  3.   

    参考javadoc类java.lang.Classpublic static Class<?> forName(String className)
                            throws ClassNotFoundException返回与带有给定字符串名的类或接口相关联的 Class 对象。调用此方法等效于: 
      Class.forName(className, true, currentLoader)
     其中 currentLoader 表示当前类的定义类加载器。 
    例如,以下代码片段返回命名为 java.lang.Thread 的类的运行时 Class 描述符。    Class t = Class.forName("java.lang.Thread")
     调用 forName("X") 将导致命名为 X 的类被初始化。 
    参数:
    className - 所需类的完全限定名。 
    返回:
    具有指定名的类的 Class 对象。 
    抛出: 
    LinkageError - 如果链接失败 
    ExceptionInInitializerError - 如果此方法所激发的初始化失败 
    ClassNotFoundException - 如果无法定位该类
      

  4.   

    额,我的可以啊,不过要放在try..catch里面
      

  5.   

    try {
    Class yourClass = Class.forName("java.lang.String");
    } catch(Exception e) {
    e.printStackTrace();
    }
      

  6.   

    Class yourClass = Class.forName("String");
    是不合适的
    Class.forName(“完整的类名”)
      

  7.   

    Class yourClass = Class.forName("java.lang.String");
    如果你这样获取一个String类的class对象,是毫无意义的Class.forName的用处是在运行过程中才能决定使用哪个类来创建实例。你的问题的原因是:必须使用带package的完整类名
      

  8.   

    Class.forName(String)是获取某种类型的一个Class引用,每个类型都有自己对应的一个Class对象,记录了一些关于该类的信息。jvm实例化一个类时要先看Class对象是否已经加载。lz这里只要抓下异常就ok了
      

  9.   

    楼主,吓我一跳,
    Class yourClass = Class.forName("java.lang.String"); 工作的很好啊。Class yourClass = Class.forName("String"); 肯定是不行的,原因楼上诸位已说。
      

  10.   

    java.lang.String是没问题的啊,是不是你不小心包名什么的写错了
      

  11.   

    有异常抛出(可以查api文档)的要放在try catch里面。
      

  12.   

    Class.forName("java.lang.String");表示加载一个类。这样用的话有个小技巧,可以判断某个类是否在 classpath 下,如果抛出没有找到类的异常,那说明没这个类。
      

  13.   

    java api中写的是:public static Class<?> forName(String className)
                            throws ClassNotFoundException必须要抛出异常,所以要么用try catch,要么就是在方法签名中写throws ClassNotFoundExceptionClass yourClass = Class.forName("String"); 这句话错误,forName()中指定的类要指出该类的具体位置,既带包的名称:java.lang.String。