【发布时间】:2017-04-27 04:54:45
【问题描述】:
程序的输出是:
[B@171ccb0[B@35378d
[B@1d23632
需要的输出是:
[B@171ccb0[B@35378d
[B@171ccb0[B@35378d
请帮忙...
import java.util.Scanner;
import java.io.InputStreamReader;
public class testme {
public static void main(String[] args) {
Scanner in = new Scanner(new InputStreamReader(System.in));
String s = "hello";
String sb = "hi";
String sc = s.concat(sb);
byte[] a, b;
a = s.getBytes();
b = sb.getBytes();
byte[] c = new byte[a.length + b.length];
System.arraycopy(a, 0, c, 0, a.length);
System.arraycopy(b, 0, c, a.length, b.length);
System.out.println(a + "" + b + "\n" + c);
}
}
【问题讨论】:
-
您的示例中扫描仪的用途是什么?
-
整个程序的目的是什么?
-
这毫无意义。如果您只打印出三个数组(准确地说是这些数组的 toStrings),您将永远不会在输出中看到四次“[B”。此外,字符串表示取决于这些数组的 objectId,这不是确定性的。您可能想要打印数组内容而不是 toString ....
-
@MartinFrank 抱歉,请忽略扫描仪
-
@Kayaman 目的是获取连接字符串的字节值与连接前的值相同