1

在 main 方法中创建一个 Object 实例并将其分配给一个整数变量。当抛出异常时,使用 try catch 处理它并在 catch 子句中打印一条消息。我不知道该怎么做。我这样做了:

public class Ch7LU1Ex4{

   public static void main(String argv[]) {   

     try{

       Object o = new Integer(10);
       int b = (Integer) o;

     }catch(Exception e){
       System.out.print("Exception caught");
     }

  }
}
4

2 回答 2

2

你已经完成了任务要求的事情(尽管我会在没有自动拆箱的情况下将其编码为Integer i = (Intsger)o;),但是你不会得到异常,因为强制转换会起作用 - 将 Integer 强制转换为 Integer 不会导致异常。

尝试这个:

Object o = new Object(),

然后,您将练习您的捕获代码

于 2012-12-29T13:32:15.827 回答
2

这个作业很奇怪(它告诉你实现一个错误,基本上),但我认为老师想要的是:

public static void main(String args[]) {   
    try {
        Object o = new Object();
        Integer b = (Integer) o;
    }
    catch (ClassCastException e) {
        System.out.print("An Object is not an Integer. The above makes no sense");
    }
}

也许让你意识到只有 Integer 实例可以转换为 Integer。

于 2012-12-29T13:32:18.383 回答