Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我不能将Integer.tobinarysting()连接到Java中的另一个字符串?_Java_String Concatenation_Bin - Fatal编程技术网

为什么我不能将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()
返回一个字符串值,因此如果不返回,这应该是可能的?

因为字符串是不可变的对象。 So
str+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,它会创建一个新的字符串实例,该实例因未分配给任何对象而被丢弃。