如何在Java中将表观类型更改为实际类型?

时间:2014-02-16 15:27:34

标签: java

例如:

public static String s(Object o)
    return o;  

此方法无法正常工作/编译。为了解决这个问题,我可以写return o.toString(),但我不想这样做。我想把对象的o的表观类型改为o的实际类型,我知道它是String 我怎样才能做到这一点?我知道有一个命令,我可以使用它,但我忘了它。谁知道呢?

谢谢

3 个答案:

答案 0 :(得分:2)

听起来你只是在演员之后:

public static String castToString(Object o) {
    return (String) o;
}

如果o是非String类型的非空引用,则抛出ClassCastException。 (如果o 为空引用,则转换将成功,结果仍为空引用。)

有关详细信息,请参阅JLS section 5.5

答案 1 :(得分:1)

您可以将对象转换为字符串:

public static String castToString(Object o) {
    return (String) o;
}

答案 2 :(得分:1)

如果您知道Object实际上是String,那么您可以简单地进行类型转换。

public static String s(Object o)
{
   return (String)o; 
}