有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    如果getResponse()返回String对象,但引用类型为object,则可以获取String,因为响应已经是String

    另一方面,如果返回的对象实际上不是String的对象,它将给您classcastexeption

    要处理这种情况,建议在强制转换对象之前检查对象的类型

    就像

    Object returnedObject = req.getResponse();
    if(returnedObject instanceof String)
    {
    // we can cast it now as string
    String str = (String) returnedObject;
    // use str as string safely now
    }
    
  2. # 2 楼答案

    java无法神奇地将一个对象强制转换为另一个对象,除非它们具有父子关系

    用那种方式是不行的

    所有的String都是Object。但并非所有的Object都是String


    编辑评论(你的意思是在java中不可能进行下推):

    不,我不是那个意思。在以下情况下,向下浇铸是可能的:

    Object obj = getThat();
    String s = (String) obj; 
    

    有可能,如果你看到的话。如果getThat()方法返回String,则上述代码可以正常执行。否则Exception。 同样的规则也适用于getResponse()方法