如何在 Java 中将 String 转换为 int?

新手上路,请多包涵

如何将 String 转换为 int

 "1234"  →  1234

原文由 Unknown user 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 502
2 个回答
String myString = "1234";
int foo = Integer.parseInt(myString);

如果您查看 Java 文档,您会注意到“捕获”是此函数可以抛出 NumberFormatException ,您可以处理:

 int foo;
try {
   foo = Integer.parseInt(myString);
}
catch (NumberFormatException e) {
   foo = 0;
}

(此处理默认将格式错误的数字 0 ,但如果你愿意,你可以做其他事情。)

或者,您可以使用 Guava 库中的 Ints 方法,该方法与 Java 8 的 Optional 相结合,提供了一种将字符串转换为 int 的强大而简洁的方法:

 import com.google.common.primitives.Ints;

int foo = Optional.ofNullable(myString)
 .map(Ints::tryParse)
 .orElse(0)

原文由 Rob Hruska 发布,翻译遵循 CC BY-SA 4.0 许可协议

例如,这里有两种方式:

 Integer x = Integer.valueOf(str);
// or
int y = Integer.parseInt(str);

这些方法之间存在细微差别:

  • valueOf 返回一个新的或缓存的实例 java.lang.Integer
  • parseInt 返回原语 int

在所有情况下都是相同的: Short.valueOf Long.valueOf parseShort parseLong

原文由 lukastymo 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题