2016-04-09 33 views
0

Tam sayı girişlerini ikili dizeye dönüştürmeye ve bunları birlikte uzun bir dizeye dönüştürmeye çalışıyorum. Örnek:Neden Integer.toBinaryString() öğesini Java'daki başka bir dizeye bağlayamıyorum?

input: 4 5 
output: 0100 0101 

API kontrol ve toBinaryString döndürür benim çözüm çalışması gerektiğini eminim bir dize gördükten sonra ama oldu.

Benim Çözüm:

String str = "5 in binary: "; 
str.concat(Integer.toBinaryString(5)); 

veya

String str = "5 in binary: "; 
str + Integer.toBinaryString(5); 

Bunların her biri sadece orijinal dize basacaktır "ikili 5:" ziyade "ikili 5: 0101" den.

toBinaryString() bir String değerini döndürür, bu mümkün olmamalıdır, bu mümkün olmalıdır?

+0

Karakter dizileri değişmez: Böyle str şeye yeni nesne atamak gerekir her şeye. –

+0

Teşekkür ederim, seni seviyorum. – user3590350

cevap

4

Dize değişmez nesne olduğundan. str + Integer.toBinaryString(5);, str'un içeriğini değiştirmez. Sadece başka bir String nesnesi döndürür. str.concat() str değiştirmez yüzden, bu atanmamış çünkü atılır alır yeni bir dize örneği oluşturur,

str = str + Integer.toBinaryString(5);