Как проверить, является ли объект конвертируемым в другой тип?
предположим, у меня есть два строковых объекта: "25000.00" и "1234", которые моя программа получает во время выполнения. Как проверить, если они castable преобразуемым в тип double и int, соответственно? Есть ли способ или ключевое слово в Java, который делает это уже?
3 ответов
можно использовать Integer.parseInt
или Double.parseDouble
статические методы для этого. Каждый из этих методов принимает в String
и преобразует их в int
или double
по мере необходимости. Вы можете проверить, является ли строка конвертируемой, вызвав эту функцию. Если преобразование возможно, оно будет выполнено. В противном случае методы будут бросать NumberFormatException
s, которые вы можете поймать и ответить. Например:
try {
int value = Integer.parseInt(myString);
// Yes! An integer.
} catch (NumberFormatException nfe) {
// Not an integer
}
надеюсь, что это помогает!
просто для уточнения: String
is никогда приводим к Double
или Integer
.
Double.parseDouble
и Integer.parseInt
методы. Если они не являются parsable то NumberFormatException
будет брошен. Вы можете поймать это и справиться с этим соответствующим образом.
литье и извлечение это совершенно разные вещи.
EDIT: I see @BalusC отредактировал вопрос и изменил "cast", чтобы "преобразовать". Думаю, мои комментарии сейчас излишни:)
В C# существует метод проверки того, может ли объект быть приведен к другому объекту. Но, наверное, целое.parseInt или двойной.parseDouble достаточно.