当前位置: 首页 > 知识库问答 >
问题:

在检查是否相等时,将字符串转换为Int或Int转换为字符串是否更有效?

夏侯臻
2023-03-14

以下设置:

int a=3;
String b="3";

两个变量都表示语义相等的ID。由于应用程序是针对移动设备的,因此以最有效的方式进行这些变量的比较非常重要。

将这些变量与此代码片段进行比较是否有效,

boolean areEqual = Integer.parseInt(b) == a;

还是用这个?

boolean areEqual = String.valueOf(a).equals(b);

共有3个答案

裴欣然
2023-03-14

如果您确实知道字符串包含一个数字,最有效的方法可能是;

boolean areEqual = (a == (b.charAt(0) - '0'));
于高雅
2023-03-14

代码的最高效率可能是在每次比较时都在int和String之间进行转换。当您首先获得数据时,只需将字符串转换为int即可。这样,您还可以确保任何错误消息立即到达用户,例如,当用户输入错误时。

燕扬
2023-03-14

除非你做了数千次这样的比较,否则这可能无关紧要。也就是说,如果你看看这些陈述中的每一个都在做什么:

boolean are相等=Integer.parseInt(b)==a;此语句解析String值一次,然后对两个原始int值进行极快的比较。

boolean areEqu=String.valueOf(a). equals(b);此语句处理一次String以创建aString值,然后执行String比较。更多的步骤,更多的内部逻辑,因此效率较低。

 类似资料:
  • 注意:这个问题包含不建议使用的前1.0代码!不过,答案是正确的。 要在Rust中将转换为,我可以执行以下操作: 我知道如何将转换为的唯一方法是获取其中的一个片段,然后像这样使用: 有没有办法直接将转换为?

  • 我只是无法在c中转换不同的数据类型,我知道c是一种强类型语言,所以我在这里使用了,但我面临一个问题,错误消息是 从“std::string{aka std::basic_string}类型转换为“int”类型的static_

  • 我想检查一下字符串是否能够转换为float或int。 例如: 我收到 此值可以通过以下方式转换为float 但如果我收到 我的应用程序会崩溃。那么我如何检查我收到的字符串是否能够转换成浮点呢? 对于Int,我如何做到这一点?

  • 问题内容: 我想将字符串转换为最严格的数据类型:int或float。 我有两个字符串: 如何在Python中确定value1应该为Float,value2应该为Integer? 问题答案:

  • 我想将MongoDB值字段的字符串转换为整数,然后计算平均值。 这是我的JSON: 但我也得到了这样的输出: {“_id”:ObjectId(“5C509604FC007808C427EDCB”),“values”: [“24.3”,“23.3”,“25.3”,“31.3”,“90.3”],“avgvalue”:null} 期望值应该是values字段的平均值。 我需要对嵌套文档值进行某种转换。

  • 我想将字符串time < code > " 2019-06-20 13:30:31 " 转换为int ,我尝试使用以下代码,但得到的是< code>10190101,我的尝试有什么问题吗?