- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有以下代码行:
suffix = suffix.isEmpty() ? "1" : Integer.toString(Integer.parseInt(suffix)+1);
在后缀已被声明为空字符串 (""
) 的 block 中。该 block 正在寻找重复的文件名,并为任何重复的文件添加一个数字,这样它们就不再具有相同的名称了。
上面这行代码编译得很好,但是如果我把它改成这个,
suffix = suffix.isEmpty() ? "1" : Integer.toString(Integer.parseInt(suffix)++);
我得到操作++/--的参数无效
。既然 Integer.parseInt()
返回和 int,为什么我不能使用 ++
运算符?
最佳答案
++
操作符应该更新其参数的值,所以参数应该在内存中有一个固定 位置来更新。因此,参数应该是一个变量*。在这种情况下,参数是Integer.parseInt(suffix)
,根本没有固定的内存地址要更新。
直观地说,Integer.parseInt(suffix)++
大致等价于Integer.parseInt(suffix) = Integer.parseInt(suffix) + 1
。但是 Integer.parseInt(suffix)
只是一个整数值,没有关联到内存中的固定位置,所以上面的代码几乎是一样的,让我们说,32 = 32 + 1
。由于您不能为 32
分配新值(Integer.parseInt(suffix)
也不能),因此支持 ++
没有任何意义运算符。
好消息是这根本不会造成任何问题!用 Integer.parseInt(suffix)+1
代替 Integer.parseInt(suffix)++
。
* 或者,正如它通常所说的那样,l-value ,或地址值。
关于java - 为什么 Integer.parseInt ("1")++ 在 Java 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8536223/
来自 documentation : This method behaves identically to the global function parseInt() 但是,由于它是实验性的,the
这个问题在这里已经有了答案: Javascript parseInt() with leading zeros (7 个答案) 关闭 8 年前。 在IE8中发现了一件奇怪的事情: parseInt(
我对 parseInt 的特定结果感到困惑。我以为我了解它的大部分怪癖,但这一个还不清楚。 parseInt("010", 10); // 10 parseInt(010, 10); // 8,
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: JavaScript function parseInt() doesn't parse numbers w
这个问题纯属好奇。 通过控制台 parseInt(1111111111111111,2) // 16 1's 返回 65535 和 parseInt(11111111111111111,2) // 1
我正在开发一个 Java 项目,将每个整数添加到下一行中的整数,直到文件中没有任何行可供读取。因此,为了能够添加它,我必须在该行中使用 Integer.parseInt(...) 然后添加它。P.S:
在 MDN 的 Number.parseInt部分,它说: The Number.parseInt() method parses a string argument and returns an i
为什么 parseInt('60', 10) 与 parseInt('60', 0) 相同? JavaScript 将 0 基数转换成什么? 最佳答案 来自 MDN ( https://develop
在阅读 JavaScript 中的 NaN 时,我遇到了一些示例。然后我开始进行更多测试,结果让我感到惊讶。例如,我想知道为什么 JavaScript 对下面两个几乎相同的语句的解释不同 parseI
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: Workarounds for JavaScript parseInt octal bug 为什么 parseInt
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Workarounds for JavaScript parseInt octal bug 我认为它与八进制
这个问题在这里已经有了答案: 关闭10 年前。 Possible Duplicate: Workarounds for JavaScript parseInt octal bug 我正在研究 jav
我正在阅读 this但我对 parseInt 中带有基数参数一章的内容感到困惑 为什么是 parseInt(8, 3) → NaN 和 parseInt(16, 3) → 1? AFAIK 8 和 1
我必须构建一个由我构建的一些结构组成的数组: 类(Item)的构建方式如下:(如下所示) 现在我的问题是我试图将从另一个地方(在本例中为列表)获取的一些字符串数字解析为 int。 但我收到此错误: T
我是 Javascript 新手,有一个关于使用 parseInt() 函数将字符串转换为数字的问题。 我通过编写以下代码来练习 parseInt,并在将用户输入从字符串变为数字之前使用 typeof
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Workarounds for JavaScript parseInt octal bug 我正在解析一个字
我有这个 jQuery 片段,用于从输入字段获取 ID 号 $('table th input').change(function() { var id = $(this).attr('id'
我有这个 JavaScript 文件(Rhino 1.7R4)。 importPackage(java.io); importPackage(java.lang); importPackage(jav
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
当我尝试使用 parseInt(value) 将其转换为 int 时,我有 var value="10+10" ,它给了我 NaN。如果字符串中有特殊字符,他们是否可以选择转换字符串?结果应为 20
我是一名优秀的程序员,十分优秀!