如何检查对象是否可以转换为其他类型?

时间:2011-01-12 00:47:37

标签: java type-conversion

假设我有两个字符串对象:“25000.00”,以及我的程序在运行时获得的“1234”。如何检查它们是否 castable 可转换为double和int类型? Java中有一个方法或关键字吗?

3 个答案:

答案 0 :(得分:8)

您可以使用Integer.parseIntDouble.parseDouble静态方法执行此操作。这些方法中的每一个都会使用String并根据需要将其转换为intdouble。您可以通过调用此函数来检查字符串是否可转换。如果可以进行转换,则会执行转换。否则,方法将抛出NumberFormatException s,您可以捕获并响应。例如:

try {
    int value = Integer.parseInt(myString);
    // Yes!  An integer.
} catch (NumberFormatException nfe) {
    // Not an integer
}

希望这有帮助!

答案 1 :(得分:3)

只是澄清一下:String 从不可投递到DoubleInteger

但是,您可以使用Double.parseDoubleInteger.parseInt方法解析字符串作为数字。如果它们不可解析,那么将抛出NumberFormatException。你可以抓住它并妥善处理它。

投射解析是完全不同的事情。

编辑:我看到@BalusC编辑了这个问题并将“cast”改为“convert”。我想我的评论现在多余了:)

答案 2 :(得分:0)

在C#中,有一种方法可以检查对象是否可以转换为其他对象。但我想,Integer.parseInt或Double.parseDouble就足够了。