为什么我不能将Integer.tobinarysting()连接到Java中的另一个字符串?
我试图将整数输入转换为二进制字符串,并将它们连接到一个长字符串中。例如:为什么我不能将Integer.tobinarysting()连接到Java中的另一个字符串?,java,string-concatenation,bin,Java,String Concatenation,Bin,我试图将整数输入转换为二进制字符串,并将它们连接到一个长字符串中。例如: input: 4 5 output: 0100 0101 在查看API并看到tobinarysting返回一个字符串后,我确信我的解决方案应该可以工作,但它不能 我的解决方案: String str = "5 in binary: "; str.concat(Integer.toBinaryString(5)); 或 其中每一个将只打印出原始字符串“5 in binary:”而不是“5 in binary:0101”
input: 4 5
output: 0100 0101
在查看API并看到tobinarysting
返回一个字符串后,我确信我的解决方案应该可以工作,但它不能
我的解决方案:
String str = "5 in binary: ";
str.concat(Integer.toBinaryString(5));
或
其中每一个将只打印出原始字符串“5 in binary:”而不是“5 in binary:0101”
toBinaryString()
返回一个字符串值,因此如果不返回,这应该是可能的?因为字符串是不可变的对象。
Sostr+Integer.toBinaryString(5)
不会更改str
的内容。它只返回另一个字符串对象。您需要将该新对象指定给str
类似的对象:
str = str + Integer.toBinaryString(5);
因为字符串是不可变的对象。 So
str+Integer.toBinaryString(5)
不会更改str
的内容。它只返回另一个字符串对象。您需要将该新对象指定给str
类似的对象:
str = str + Integer.toBinaryString(5);
字符串是不可变的,因此str.concat()不会修改str,它会创建一个新的字符串实例,该实例因未分配给任何对象而被丢弃。字符串是不可变的,因此str.concat()不会修改str,它会创建一个新的字符串实例,该实例因未分配给任何对象而被丢弃。