如何在 Groovy 中正确地将 String 转换为 int

2024-01-09

首先,我知道问题'Groovy 字符串到 int https://stackoverflow.com/questions/1713481/groovy-string-to-int’这是回应。我是 Groovy 语言的新手,现在正在尝试一些基础知识。将 String 转换为 int 的最直接方法似乎是:

int value = "99".toInteger()

or:

int value = Integer.parseInt("99")

这两者都有效,但是对这些答案的评论让我感到困惑。第一种方法


String.toInteger()  
is deprecated, as stated in groovy documentation. I also assume that

Integer.parseInt()  
makes use of the core Java feature.

所以我的问题是:有没有合法,纯粹常规如何执行将 String 转换为 int 这样的简单任务?


我可能错了,但我认为最精彩方法是使用安全强制转换"123" as int.

事实上,你有很多行为略有不同的方法,而且都是正确的。

"100" as Integer // can throw NumberFormatException
"100" as int // throws error when string is null. can throw NumberFormatException
"10".toInteger() // can throw NumberFormatException and NullPointerException
Integer.parseInt("10") // can throw NumberFormatException (for null too)

如果您想获得 null 而不是异常,请使用您链接的答案中的配方。

def toIntOrNull = { it?.isInteger() ? it.toInteger() : null }
assert 100 == toIntOrNull("100")
assert null == toIntOrNull(null)
assert null == toIntOrNull("abcd")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Groovy 中正确地将 String 转换为 int 的相关文章

随机推荐

  • Spring WebFlux WebClient - 如何解决 400 错误请求

    我是反应式编程的新手 我正在使用 Spring WebFlux 的 WebClient 向以下 URL 发出 POST 请求 作为我的 Spring Boot 应用程序的一部分 以将现有测验分配给候选人 我无法理解我在构建 WebClien
  • 无法在jquery中添加类

    我正在尝试将类 trans 添加到我在 jquery 中新创建的克隆中 但它不起作用 当我将类直接应用于我的对象时 它可以完美地工作 我想做的是 我从数据库中获取一些图像到我的页面 使用 foreach 循环我显示了这些图像 然后在 jqu
  • AuthSub 目标路径前缀与提供的“下一个”URL 不匹配

    我正在尝试在 PHP 中使用 Gcal API 我正在使用 ZEND 框架 function getAuthSubUrl company next http company mysite com scope http www google
  • 如何使用 Apache 正确配置反向代理,以用于跨域 AJAX?

    需要开发一个高度依赖 API 的 Web 应用程序 但同时不能与 API 本身驻留在同一域中 因此在发出异步 HTTP 请求时绕过 同源策略 非常棘手 阿贾克斯 有一次 有人建议我在我的计算机 运行 Windows 7 上安装 WAMP 并
  • Sanctum 和 Postman 的 SPA 身份验证问题

    我目前正在尝试使用 Laravel 8 19 0 和 Postman 7 36 1 测试 SPA 但我不断从受 auth sanctum 保护的路由收到 未经身份验证 的响应 即使我已正确登录 据我所知 我已经完全遵循了文档https la
  • 无法在 pyspark 中应用 pandas_udf

    我正在附加到 AWS EMR 实例的 jupyter 笔记本上尝试一些与 pyspark 相关的实验 我有一个 Spark 数据框 它从 s3 读取数据 然后过滤掉一些内容 使用打印模式df1 printSchema 输出如下 root i
  • 如何将 CFArray 转换为 Swift 数组?

    根据 Apple 的 Using Swift with Cocoa and Objective C 在 Swift 中 您可以互换使用每对免费桥接 Foundation 和 Core Foundation 类型 这使得使用 Core Fou
  • 在 SQL 中添加总计超过 24 小时的时间

    我试图从几行中添加时间 当它们加起来超过几个小时时 我没有得到我正在寻找的正确结果 想要编写脚本TotalTime允许 HH 中超过 24 个 不必是日期时间数据类型 StartTime and FinishTime是 varchar 8
  • Spring Cloud Feign 客户端重复列表值

    我有这个接口使用 Spring cloud Feign 映射我的其余客户端 FeignClient url http localhost 8080 public interface RestClient RequestMapping val
  • 在圆圈内绘制文字

    我正在开发一个 Android 应用程序 我想画一个里面有文字的圆圈 我希望填充为白色 带有黑色边框和黑色文本 现在我有一个ShapeDrawable mDrawable new ShapeDrawable new OvalShape mD
  • SQL 列数据类型没有限制

    我有 SQLite 数据库 在 SQLiteStudio 中创建 DDL 是这样的 CREATE TABLE player player id INTEGER PRIMARY KEY ASC AUTOINCREMENT UNIQUE NOT
  • 如何像 Google 地图应用一样将 Android 工具栏菜单/图标向左对齐?

    这是 Google 地图工具栏的屏幕截图 如您所见 图标左对齐而不是右对齐 默认行为 我尝试将 android layout gravity left 和 android gravity left 添加到工具栏 但它不起作用 我还尝试向工具
  • 用于匹配 CSS 十六进制颜色的正则表达式

    我正在尝试编写从 CSS 代码中提取所有十六进制颜色的正则表达式 这就是我现在所拥有的 Code css lt lt
  • 在 Java 17 中,如何避免诉诸 --add-opens?

    从 Java 17 开始 illegal access实际上已经过时了https openjdk java net jeps 403 https openjdk java net jeps 403 对该选项的任何使用 无论是允许 警告 调试
  • 在 OCaml 中读取 URL 的 HTML 内容

    我想编写一个 OCaml 函数 它接受一个 URL 并返回一个由该位置的 HTML 文件内容组成的字符串 有任何想法吗 多谢 最好的 苏里卡托 我已经使用 ocurl 和 nethtml 完成了这两件事 ocurl http sourcef
  • java中的构造函数是什么,如果它不是类的成员?

    如果构造函数不是 Oracle 文档中所述的类成员 我们该如何称呼它 http docs oracle com javase tutorial java IandI subclasses html http docs oracle com
  • Scipy 余弦相似度与 sklearn 余弦相似度

    我注意到两者scipy and sklearn具有余弦相似度 余弦距离函数 我想测试每对向量的速度 setup1 import numpy as np arrs1 np random rand 400 for in range 60 arr
  • 自测技巧? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 基本上我想知道是否有人有任何提示来确保您的代码经过良好的测试 而无需在有限的时间内获得其他人的任何帮助 过去 我总是能够找到其他人对我的代码进行测试
  • 我们如何解决将 Access DB 从生产服务器转移到实时服务器的日期时间问题

    您能建议纠正 Net 中时区问题的最佳方法吗 最近 我使用 asp net C 作为代码隐藏 MS Access 作为后端开发了一个简单的网站 我的生产服务器和实时服务器的日期时间设置不同 我的生产服务器日期格式是 dd mm yyyy 实
  • 如何在 Groovy 中正确地将 String 转换为 int

    首先 我知道问题 Groovy 字符串到 int https stackoverflow com questions 1713481 groovy string to int 这是回应 我是 Groovy 语言的新手 现在正在尝试一些基础知