我正在尝试将整数输入转换为二进制字符串并将它们连接在一起形成一个长字符串。示例:
input: 4 5
output: 0100 0101
检查 API 并看到 toBinaryString
返回一个字符串后,我确信我的解决方案应该有效,但事实并非如此。
我的解决方案:
String str = "5 in binary: ";
str.concat(Integer.toBinaryString(5));
或
String str = "5 in binary: ";
str + Integer.toBinaryString(5);
其中每一个都只会打印出原始字符串“二进制中的 5:”,而不是“二进制中的 5:0101”。
toBinaryString()
返回一个字符串值,所以这应该是可能的,不是吗?
最佳答案
因为String是不可变对象(immutable对象)。
因此 str + Integer.toBinaryString(5);
不会更改 str
的内容。它只是返回另一个 String 对象。您需要将该新对象分配给 str
,如下所示:
str = str + Integer.toBinaryString(5);
关于java - 为什么我不能将 Integer.toBinaryString() 连接到 Java 中的另一个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36512188/