我正在尝试将整数输入转换为二进制字符串,并将它们连接成一个长字符串。例如:
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 in binary:”而不是“5 in binary:0101”。
toBinaryString()
返回一个字符串值,如果不是,那么这应该是可能的吗?
答案 0 :(得分:4)
因为String是不可变对象。
因此str + Integer.toBinaryString(5);
不会更改str
的内容。它只返回另一个String对象。您需要将新对象分配给str
类似的东西:
str = str + Integer.toBinaryString(5);