gpt4 book ai didi

java - 如何判断 Java 整数是否为空?

转载 作者:IT老高 更新时间:2023-10-28 21:17:50 26 4
gpt4 key购买 nike

您好,

我正在尝试验证我的整数是否为空。如果是,我需要提示用户输入一个值。我的背景是 Perl,所以我的第一次尝试是这样的:

int startIn = Integer.parseInt (startField.getText());

if (startIn) {
JOptionPane.showMessageDialog(null,
"You must enter a number between 0-16.","Input Error",
JOptionPane.ERROR_MESSAGE);
}

这不起作用,因为 Java 需要 boolean 逻辑。

在 Perl 中,我可以使用“exists”来检查哈希/数组元素是否包含以下数据:

@items = ("one", "two", "three");
#@items = ();

if (exists($items[0])) {
print "Something in \@items.\n";
}
else {
print "Nothing in \@items!\n";
}

在 Java 中有没有办法做到这一点?感谢您的帮助!

耶利米

附: Perl exists信息。

最佳答案

如果解析无法成功完成,

parseInt() 只会抛出异常。您可以改为使用对应的对象类型 Integers,这会使事情变得更简洁。所以你可能想要更接近:

Integer s = null;

try {
s = Integer.valueOf(startField.getText());
}
catch (NumberFormatException e) {
// ...
}

if (s != null) { ... }

当心如果你决定使用 parseInt()! parseInt() 不支持良好的国际化,所以你必须跳过更多的环节:

try {
NumberFormat nf = NumberFormat.getIntegerInstance(locale);
nf.setParseIntegerOnly(true);
nf.setMaximumIntegerDigits(9); // Or whatever you'd like to max out at.

// Start parsing from the beginning.
ParsePosition p = new ParsePosition(0);

int val = format.parse(str, p).intValue();
if (p.getIndex() != str.length()) {
// There's some stuff after all the digits are done being processed.
}

// Work with the processed value here.
} catch (java.text.ParseFormatException exc) {
// Something blew up in the parsing.
}

关于java - 如何判断 Java 整数是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/646012/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com