gpt4 book ai didi

java - 以安全的方式将字符串转换为整数

转载 作者:太空狗 更新时间:2023-10-29 22:46:08 29 4
gpt4 key购买 nike

我有一个小方法可以将字符串转换为整数。由于字符串是方法的参数,我想确保该字符串是可转换的。所以我只是想知道什么是最安全和/或最快的方法。


版本 A:保持现状并承担风险(我正在努力避免)

public static int stringToInt(String param) {
return Integer.valueOf(param);
}

(在速度方面,B版和C版会有什么样的区别?)


版本 B:捕获异常

public static int stringToInt(String param) {
try {
return Integer.valueOf(param);
} catch(NumberFormatException e) {
return -1;
}
}

版本 C:检查字符串的每个字母是否为数字

public static int stringToInt(String param) {
for(char c : param.toCharArray()) {
if(!Character.isDigit(c))
return -1;
}
return Integer.valueOf(param);
}

请注意,参数必须是正数,-1 应该是我的小程序中的“错误值”,换句话说,所有三个版本的方法都可以在我的程序中完美运行。

我非常愿意接受您可以给我的任何其他建议,所以如果您认为自己的版本更好,请随时创建您自己的版本。

非常感谢您提前的支持。

最佳答案

Guava 为此提供了一个实用方法,它会在无法解析您的字符串时返回 null。

https://google.github.io/guava/releases/19.0/api/docs/com/google/common/primitives/Ints.html#tryParse(java.lang.String)

Integer result = Ints.tryParse("1");  //returns 1
Integer result = Ints.tryParse("-1"); //returns -1
Integer result = Ints.tryParse("a"); //returns null

关于java - 以安全的方式将字符串转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16908029/

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