用数字更改 Groovy 默认行为的方法

问题描述 投票:0回答:1

有一种方法可以改变 Groovy 语言行为(如果不是的话,我认为它可能会很有趣),使其默认将数字转换为浮点数,而不是 BigDecimal 或 Double?为什么我需要那个?因为我使用 libgdx,它在大多数方法中使用 float 进行计算,并且当我使用数字进行计算而不进行强制转换或使用 (someCalculation).floatValue() 之后,它们总是转换为 BigDecimal 或 Double。而且总是执行 (x* 5 + 8 /3).floatValue() 有点烦人。如果有配置文件、注释或类似的东西,我可以将其配置为始终转换为浮点数(默认情况下),如果需要,我指定一个类型?它将使代码不那么冗长,但至少在那部分比 java 更冗长......我在 Groovy 文档和 Web 搜索中没有找到类似的内容

groovy floating
1个回答
0
投票

您可以通过使用类型化变量来存储值来防止 Groovy 进行不适当的转换。

表达式

2f * 5f
的类型是 Double,但如果将其分配给像

这样的类型变量
Float myFloat = 2f * 5f

那么 myFloat 中的值就是一个 Float。

这也让您有机会为值分配一个有意义的名称,以便您的代码更具可读性。

更改 Groovy 语言的默认值可能会导致 Groovy 附带的库的行为方式发生变化,因为它们是为使用这些默认值而编写的。这似乎可能会带来更多的痛苦,而不是值得的。

© www.soinside.com 2019 - 2024. All rights reserved.