Java isInstance中的ClassNotFoundException
在上面的代码中,我试图找出obj是否是Object的实例。我应该得到正确的答案,但我得到了一个错误。我无法找出错误发生的原因。有人能帮我解决吗Java isInstance中的ClassNotFoundException,java,class,exception,Java,Class,Exception,在上面的代码中,我试图找出obj是否是Object的实例。我应该得到正确的答案,但我得到了一个错误。我无法找出错误发生的原因。有人能帮我解决吗 class j { public static void main(String args[]) { Object obj=new Object(); String c ="Object"; System.out.println(Class.forName(c).isInstance(obj));
class j {
public static void main(String args[])
{
Object obj=new Object();
String c ="Object";
System.out.println(Class.forName(c).isInstance(obj));
}
}
您必须将代码包围在try catch中,或者必须确保main可以抛出excetpion:
error: unreported exception ClassNotFoundException; must be caught or
declared to be thrown
System.out.println(Class.forName(c).isInstance(obj));
或
在没有任何安全网的情况下,您不能离开能够抛出异常的代码
确保使用类的完全限定名称:
public static void main(String args[]) throws ClassNotFoundException
或在源代码开头导入:
java.lang.ClassNotFoundException
您必须将代码包围在try catch中,或者必须确保main可以抛出excetpion:
error: unreported exception ClassNotFoundException; must be caught or
declared to be thrown
System.out.println(Class.forName(c).isInstance(obj));
或
在没有任何安全网的情况下,您不能离开能够抛出异常的代码
确保使用类的完全限定名称:
public static void main(String args[]) throws ClassNotFoundException
或在源代码开头导入:
java.lang.ClassNotFoundException
2件事:
Class.forName(“Object”)
是不正确的,您需要使用所需类的完全限定名(即包含包)Class.forName(“Object”)
是不正确的,您需要使用所需类的完全限定名(即包含包)方法Class.forName声明它抛出异常ClassNotFoundException,因此在代码中您需要捕获它或在方法声明中声明抛出ClassNotFoundException。因此
String c = "java.lang.Object";
System.out.println(Class.forName(c).isInstance(obj));
或
方法Class.forName声明它抛出异常ClassNotFoundException,因此在代码中您需要捕获它或在方法声明中声明抛出ClassNotFoundException。因此
String c = "java.lang.Object";
System.out.println(Class.forName(c).isInstance(obj));
或
Class.forName
抛出异常,您需要处理它-首先看一看我正在投票结束这个问题,因为它最好使用许多可用教程中的一个来回答,喜欢并阅读yeah thank you,但即使使用try catch,我也不会得到正确的结果,而是执行catch块。Object
不是有效的类名-它必须是java.lang.Object
class.forName
抛出异常,你需要处理它-首先看一看我投票结束这个问题作为离题,因为它会更好地回答使用许多可用的教程之一,喜欢并阅读yeah thank you,但即使使用try catch,我也没有得到正确的答案,而是执行catch块。Object
不是有效的类名-它必须是java.lang.Object
,由obj.getClass().getName()
返回,由obj.getClass().getName()返回。